/*
  Copyright 2012 Marek "p2004a" Rusinowski
  Naive pattern matching algorithm
*/ 
#include <cstdio>
#include <cstdlib>
#include <cstring>

#define MAXN 1000000

int tab[MAXN], n, m;
char str[MAXN], pat[MAXN];

void search(const char *str, const char *pat, int str_len, int pat_len, bool (*callback)(int idx, void *data), void *data = NULL) {
  for (int j, i = 0; i <= str_len - pat_len; ++i) {
    for (j = 0; j < pat_len; ++j) {
      if (str[i + j] != pat[j]) {
        break;
      }
    }
    if (j == pat_len && !callback(i, data)) {
      break;
    }
  }
}

bool func(int a, void *) {
  printf("%d\n", a);
  return true;
}

int main() {
  scanf("%d%d%s%s", &n, &m, str, pat);
  search(str, pat, n, m, func);
  return 0;
}
