#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-8;
const double PI = acos(-1.0);
const double e = 2.718281828459;
const int N = 200000;
inline int sgn(double a);
inline long long gcd(long long a, long long b);
inline long long mod_pow(long long x, long long n, long long mod);
vector<int> vv;
vector<int> vis[1005];
int main() {
  memset(vis, 0, sizeof(vis));
  int n, m;
  string s;
  string t;
  cin >> n >> m;
  cin >> s;
  cin >> t;
  int maxidx = 0;
  int maxcount = 0;
  for (int i = 0; i <= m - n; i++) {
    int count = 0;
    for (int j = 0; j < n; j++) {
      if (s[j] != t[j + i]) {
        vis[i].push_back(j + 1);
      } else {
        ++count;
      }
    }
    if (maxcount < count) {
      maxcount = count;
      maxidx = i;
    }
  }
  cout << vis[maxidx].size() << endl;
  for (int i = 0; i < vis[maxidx].size(); i++) {
    cout << vis[maxidx][i] << " ";
  }
  return 0;
}
inline int sgn(double a) { return a < -eps ? -1 : a < eps ? 0 : 1; }
inline long long gcd(long long a, long long b) {
  return a == 0 ? b : gcd(b % a, a);
}
long long mod_pow(long long x, long long n, long long mod) {
  long long res = 1;
  while (n > 0) {
    if (n & 1) res = res * x % mod;
    x = x * x % mod;
    n = n >> 1;
  }
  return res;
}
