#include <bits/stdc++.h>
char T[1000010];
int search(char P[], int len) {
  int i, j;
  int pos = len - 1;
  int Tlen = strlen(T);
  int skip[256];
  for (i = 0; i < 256; i++) {
    skip[i] = len;
  }
  for (i = 0; i < len - 1; i++) {
    skip[P[i]] = len - i - 1;
  }
  while (pos < Tlen) {
    j = len - 1;
    while (T[pos] == P[j]) {
      if (j == 0) {
        return 1;
      }
      pos--;
      j--;
    }
    pos += ((skip[T[pos]]) > (len - j) ? skip[T[pos]] : len - j);
  }
  return 0;
}
int main() {
  char P[1010];
  int N;
  int i;
  scanf("%s", T);
  scanf("%d", &N);
  for (i = 0; i < N; i++) {
    scanf("%s", P);
    printf("%d\n", search(P, strlen(P)));
  }
  return 0;
}
