#include <bits/stdc++.h>
using namespace std;
string S;
string U;
vector<string> T;
int N;
int main() {
  cin >> S >> N;
  for (int i = 0; i < S.size(); i++) {
    int L = S.size() - i;
    if (L > 200) L = 200;
    T.push_back(S.substr(i, L));
  }
  sort(T.begin(), T.end());
  for (int i = 0; i < N; i++) {
    cin >> U;
    if (U.size() >= 200) {
      U = U.substr(0, 200);
    }
    int pos = lower_bound(T.begin(), T.end(), U) - T.begin();
    string V;
    if (pos < T.size() && U.size() <= T[pos].size()) {
      V = T[pos].substr(0, U.size());
    }
    if (U == V) {
      cout << "1" << endl;
    } else {
      cout << "0" << endl;
    }
  }
  return 0;
}
