#include <bits/stdc++.h>
using namespace std;
const int B = 999999937;
const int P = 1000000007;
vector<long long> gen_hash(const string &s) {
  vector<long long> hash(s.size());
  long long c = 0;
  for (int i = 0; i < s.size(); i++) {
    c = (c * B + s[i]) % P;
    hash[i] = c;
  }
  return hash;
}
long long pow_binary_mod(long long x, long long y, long long mod) {
  long long z = 1;
  for (; y; y >>= 1) {
    if ((y & 1) != 0) z = z * x % mod;
    x = x * x % mod;
  }
  return z;
}
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  string s;
  cin >> s;
  vector<long long> v = gen_hash(s);
  string q;
  cin >> q;
  long long hash = gen_hash(q)[q.size() - 1];
  long long Brev = pow_binary_mod(B, q.size(), P);
  vector<int> r;
  int i = q.size() - 1;
  for (; i < s.size(); i++) {
    long long h =
        ((v[i] - (i == q.size() - 1 ? 0 : v[i - q.size()]) * Brev) % P + P) % P;
    if (h == hash) break;
  }
  if (i < s.size()) {
    for (int i = 0; i < r.size(); i++) printf("%d\n", r[i]);
  } else {
  }
}
