/* ID: espr1t TASK: KEYWORDS: */ #include #include #include #include #include using namespace std; FILE *in; FILE *out; const int MAX = 1024; long long maxx; int eval(long long num, int p) { vector digs; for (int i = 0; i < p; i++) digs.push_back((int)(num % 3)), num /= 3; reverse(digs.begin(), digs.end()); int ret = 1; for (int i = 0; i < (int)digs.size(); i++) { if (digs[i] == 1) return ret; ret++; } return ret; } int main(void) { in = stdin; out = stdout; in = fopen("farm.in", "rt"); out = fopen("farm.out", "wt"); int p, n; fscanf(in, "%d %d", &p, &n); maxx = 1; for (int i = 0; i < p; i++) maxx *= 3; for (int i = 0; i < n; i++) { char buff[32]; fscanf(in, "%s", buff); long long num = 0; for (int i = 0; buff[i]; i++) num = num * 10 + buff[i] - '0'; fprintf(out, "%d\n", eval(num - 1, p)); } return 0; }