#include #include #include #include using namespace std; long long n, p; bool found; long long ans; void solve(long long num, long long from, long long to, long long dep) { long long m = from + (to - from)/3; long long m1 = from + (to - from)/3 + (to - from)/3; if(found) return; if(m < num and num <= m1) { ans = dep; found = true; return; } if(to - from <= 3) { ans = dep + 1; found = true; return; } if(num > from and num < m) solve(num, from, m, dep + 1); else solve(num, m1, to, dep + 1); } int main() { freopen("farm.in", "r", stdin); freopen("farm.out", "w", stdout); cin >> p >> n; long long t = 1; for(int i = 0; i < p; i++) t *= 3; for(int i = 0; i < n; i++) { long long num; cin >> num; found = false; solve(num, 1, t, 1); cout << ans << endl; } }