///            ,-----v-----.
///           /             \
///          /   _       _   \
///         |   / \     / \   |
///         |  |   |   |   |  |
///         |  |   |   |   |  |
///         |   \ /     \ /   |
///         |    '       '    |
///        /                   \
///       |   ( O )     ( O )   |
///       |          ♥          |
///       |         \_/         |
///        \                   /
///         '--.___________.--'
///            /           \
///           /             \
///          /  /|  (✿)  |\  \
///         /  / |       | \  \
///        /  /  |_______|  \  \
///       |__/    |  |  |    \__|
///               |  |  |
///                -   -

#include <bits/stdc++.h>
using namespace std;

#define Task "Test"
#define int long long
#define el '\n'
#define cnt_bit_1 __builtin_popcountll
#define float double
#define IO freopen(Task".inp","r",stdin); freopen(Task".out","w",stdout);
#define pii pair<int,int>
#define fi first
#define se second
#define pb push_back

const int N=2e5+5;
const int INF=1e18;
const int MOD=1e9+7;

int n , m;

vector<int> prefix_function(vector<int> s)
{
    int n = s.size();
    vector<int> pi(n , 0);

    for(int i = 1; i < n; i++)
    {
        int j = pi[i - 1];
        while (j > 0 && s[i] != s[j]) j = pi[j - 1];
        if(s[i] == s[j]) j++;
        pi[i] = j;
    }
    return pi;
}

signed main()
{
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    //IO

    cin >> n >> m;

    vector<int> t(n + 1) , p(m + 1);
    for(int i = 1; i <= n; i++) cin >> t[i];
    for(int i = 1; i <= m; i++) cin >> p[i];

    if(m == 1)
    {
        cout << n << el;
        for(int i = 1; i <= n; i++) cout << i << ' ';
        return 0;
    }

    vector<int> a , b;
    for(int i = 1; i < n; i++) a.pb(t[i + 1] - t[i]);
    for(int i = 1; i < m; i++) b.pb(p[i + 1] - p[i]);

    vector<int> pi = prefix_function(b);
    vector<int> ans;

    int j = 0;
    for(int i = 0; i < a.size(); i++)
    {
        while(j > 0 && a[i] != b[j]) j = pi[j - 1];
        if(a[i] == b[j]) j++;
        if(j == b.size())
        {
            ans.pb(i - b.size() + 2);
            j = pi[j - 1];
        }
    }

    cout << ans.size() << el;
    for(int i = 0; i < ans.size(); i++) cout << ans[i] << ' ';

    return 0;
}
