#include <functional>
#include <algorithm>
#include <iostream>
#include <cstring>
#include <cassert>
#include <cstdio>
#include <string>
#include <vector>
#include <ctime>
#include <queue>
#include <set>
#include <map>
using namespace std;
#define forn(i, n) for (int i = 0; i < (int)(n); i++)
#define fore(i, b, e) for (int i = (int)(b); i <= (int)(e); i++)
#define ford(i, n) for (int i = (int)(n)-1; i >= 0; i--)
#define mp make_pair
#define fi first
#define se second
#define pb push_back
#define all(x) (x).begin(), (x).end()
#define eq(x, y) (abs((x)-(y))<eps)
#define lt(x, y) ((x)<(y)-eps)
#define le(x, y) ((x)<=(y)+eps)
#define gt(x, y) ((x)>(y)+eps)
#define ge(x, y) ((x)>=(y)-eps)
typedef long long i64;
typedef unsigned long long u64;
typedef unsigned int u32;
typedef double ld;
typedef pair<int, int> pii;
typedef vector<int> vi;
const int inf = 1e9+100500;
const int maxn = 134;
#define ok(x, y) ((x)>=0 && (y)>=0 && (x)<maxn && (y)<maxn)
const int dx[] = {0, 0, 1, -1};
const int dy[] = {1, -1, 0, 0};
int a[maxn][maxn], nxt[maxn][maxn];
int n = maxn;
bool iter2()
{
bool upd = false;
forn(i, maxn) forn(j, maxn) {
int t = a[i][j] / 4;
if (t) {
upd = true;
a[i][j] -= 4*t;
forn(k, 4) a[i+dx[k]][j+dy[k]] += t;
}
}
return upd;
}
int h = 0;
int solve(int n)
{
forn(i, maxn) forn(j, maxn) a[i][j] = 0;
a[maxn/2][maxn/2] = n;
int cnt = 0;
while (iter2()) ++cnt;
int mxx = -1, mxy = -1, mnx = 100000, mny = 100000;
forn(i, maxn) forn(j, maxn) if (a[i][j]) {
mxx = max(mxx, i); mnx = min(mnx, i);
mxy = max(mxy, j); mny = min(mny, j);
}
cerr << mnx << " " << mxx << " " << mny << " " << mxy << endl;
cerr << mxx - mnx << endl;
//cout << " ---- " << n << " ----" << endl;
//fore(i, mnx, mxx) {
//fore(j, mny, mxy) cout << a[i][j] << " ";
//cout << endl;
//}
//cout << endl;
forn(i, maxn) forn(j, maxn) h = h * 10099 + a[i][j] * 179;
return cnt;
}
void gen()
{
freopen("input.txt", "w", stdout);
cout << 30000 << " " << 50000 << endl;
forn(i, 50000) cout << rand()%1000 << " " << rand()%1000 << endl;
}
int main()
{
solve(30000);
return 0;
//gen();
//freopen("input.txt", "r", stdin);
//freopen("/dev/null", "w", stdout);
int n;
scanf("%d", &n);
solve(n);
int t;
scanf("%d", &t);
forn(i, t) {
int x, y;
scanf("%d%d", &x, &y);
x += maxn/2; y += maxn/2;
if (ok(x, y)) printf("%d\n", a[x][y]);
else printf("0\n");
}
//for (int i = 1; i <= 100; i++)
//cout << i << ": " << solve(i) << endl;
//cout << h << endl;
#ifdef HOME
cerr << "time = " << clock()/1000 << " ms" << endl;
#endif
return 0;
}
I2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiNpbmNsdWRlIDxhbGdvcml0aG0+CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPGNzdHJpbmc+CiNpbmNsdWRlIDxjYXNzZXJ0PgojaW5jbHVkZSA8Y3N0ZGlvPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8Y3RpbWU+CiNpbmNsdWRlIDxxdWV1ZT4KI2luY2x1ZGUgPHNldD4KI2luY2x1ZGUgPG1hcD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBmb3JuKGksIG4pIGZvciAoaW50IGkgPSAwOyBpIDwgKGludCkobik7IGkrKykKI2RlZmluZSBmb3JlKGksIGIsIGUpIGZvciAoaW50IGkgPSAoaW50KShiKTsgaSA8PSAoaW50KShlKTsgaSsrKQojZGVmaW5lIGZvcmQoaSwgbikgZm9yIChpbnQgaSA9IChpbnQpKG4pLTE7IGkgPj0gMDsgaS0tKQojZGVmaW5lIG1wIG1ha2VfcGFpcgojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgYWxsKHgpICh4KS5iZWdpbigpLCAoeCkuZW5kKCkKI2RlZmluZSBlcSh4LCB5KSAoYWJzKCh4KS0oeSkpPGVwcykKI2RlZmluZSBsdCh4LCB5KSAoKHgpPCh5KS1lcHMpCiNkZWZpbmUgbGUoeCwgeSkgKCh4KTw9KHkpK2VwcykKI2RlZmluZSBndCh4LCB5KSAoKHgpPih5KStlcHMpCiNkZWZpbmUgZ2UoeCwgeSkgKCh4KT49KHkpLWVwcykKdHlwZWRlZiBsb25nIGxvbmcgaTY0Owp0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyB1NjQ7CnR5cGVkZWYgdW5zaWduZWQgaW50IHUzMjsKdHlwZWRlZiBkb3VibGUgbGQ7CnR5cGVkZWYgcGFpcjxpbnQsIGludD4gcGlpOwp0eXBlZGVmIHZlY3RvcjxpbnQ+IHZpOwpjb25zdCBpbnQgaW5mID0gMWU5KzEwMDUwMDsKY29uc3QgaW50IG1heG4gPSAxMzQ7CgojZGVmaW5lIG9rKHgsIHkpICgoeCk+PTAgJiYgKHkpPj0wICYmICh4KTxtYXhuICYmICh5KTxtYXhuKQoKY29uc3QgaW50IGR4W10gPSB7MCwgMCwgMSwgLTF9Owpjb25zdCBpbnQgZHlbXSA9IHsxLCAtMSwgMCwgMH07CgppbnQgYVttYXhuXVttYXhuXSwgbnh0W21heG5dW21heG5dOwppbnQgbiA9IG1heG47CgoKYm9vbCBpdGVyMigpCnsKICAgIGJvb2wgdXBkID0gZmFsc2U7CiAgICBmb3JuKGksIG1heG4pIGZvcm4oaiwgbWF4bikgewogICAgICAgIGludCB0ID0gYVtpXVtqXSAvIDQ7CiAgICAgICAgaWYgKHQpIHsKICAgICAgICAgICAgdXBkID0gdHJ1ZTsKICAgICAgICAgICAgYVtpXVtqXSAtPSA0KnQ7CiAgICAgICAgICAgIGZvcm4oaywgNCkgYVtpK2R4W2tdXVtqK2R5W2tdXSArPSB0OwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiB1cGQ7Cn0KCmludCBoID0gMDsKCmludCBzb2x2ZShpbnQgbikKewogICAgZm9ybihpLCBtYXhuKSBmb3JuKGosIG1heG4pIGFbaV1bal0gPSAwOwogICAgYVttYXhuLzJdW21heG4vMl0gPSBuOwoKICAgIGludCBjbnQgPSAwOwogICAgd2hpbGUgKGl0ZXIyKCkpICsrY250OwoKICAgIGludCBteHggPSAtMSwgbXh5ID0gLTEsIG1ueCA9IDEwMDAwMCwgbW55ID0gMTAwMDAwOwogICAgZm9ybihpLCBtYXhuKSBmb3JuKGosIG1heG4pIGlmIChhW2ldW2pdKSB7CiAgICAgICAgbXh4ID0gbWF4KG14eCwgaSk7IG1ueCA9IG1pbihtbngsIGkpOwogICAgICAgIG14eSA9IG1heChteHksIGopOyBtbnkgPSBtaW4obW55LCBqKTsKICAgIH0KCiAgICBjZXJyIDw8IG1ueCA8PCAiICIgPDwgbXh4IDw8ICIgICAgIiA8PCBtbnkgPDwgIiAiIDw8IG14eSA8PCBlbmRsOwogICAgY2VyciA8PCBteHggLSBtbnggPDwgZW5kbDsKCiAgICAvL2NvdXQgPDwgIiAtLS0tICIgPDwgbiA8PCAiIC0tLS0iIDw8IGVuZGw7CiAgICAvL2ZvcmUoaSwgbW54LCBteHgpIHsKICAgICAgICAvL2ZvcmUoaiwgbW55LCBteHkpIGNvdXQgPDwgYVtpXVtqXSA8PCAiICI7CiAgICAgICAgLy9jb3V0IDw8IGVuZGw7CiAgICAvL30KICAgIC8vY291dCA8PCBlbmRsOwoKICAgIGZvcm4oaSwgbWF4bikgZm9ybihqLCBtYXhuKSBoID0gaCAqIDEwMDk5ICArIGFbaV1bal0gKiAxNzk7CgogICAgcmV0dXJuIGNudDsKfQoKdm9pZCBnZW4oKQp7CiAgICBmcmVvcGVuKCJpbnB1dC50eHQiLCAidyIsIHN0ZG91dCk7CiAgICBjb3V0IDw8IDMwMDAwIDw8ICIgIiA8PCA1MDAwMCA8PCBlbmRsOwogICAgZm9ybihpLCA1MDAwMCkgY291dCA8PCByYW5kKCklMTAwMCA8PCAiICIgPDwgcmFuZCgpJTEwMDAgPDwgZW5kbDsKfQoKaW50IG1haW4oKQp7CiAgICBzb2x2ZSgzMDAwMCk7CiAgICByZXR1cm4gMDsKICAgIC8vZ2VuKCk7CiAgICAvL2ZyZW9wZW4oImlucHV0LnR4dCIsICJyIiwgc3RkaW4pOwogICAgLy9mcmVvcGVuKCIvZGV2L251bGwiLCAidyIsIHN0ZG91dCk7CiAgICBpbnQgbjsKICAgIHNjYW5mKCIlZCIsICZuKTsKICAgIHNvbHZlKG4pOwogICAgaW50IHQ7CiAgICBzY2FuZigiJWQiLCAmdCk7CiAgICBmb3JuKGksIHQpIHsKICAgICAgICBpbnQgeCwgeTsKICAgICAgICBzY2FuZigiJWQlZCIsICZ4LCAmeSk7CiAgICAgICAgeCArPSBtYXhuLzI7IHkgKz0gbWF4bi8yOwogICAgICAgIGlmIChvayh4LCB5KSkgcHJpbnRmKCIlZFxuIiwgYVt4XVt5XSk7CiAgICAgICAgZWxzZSBwcmludGYoIjBcbiIpOwogICAgfQogICAgLy9mb3IgKGludCBpID0gMTsgaSA8PSAxMDA7IGkrKykKICAgICAgICAvL2NvdXQgPDwgaSA8PCAiOiAiIDw8IHNvbHZlKGkpIDw8IGVuZGw7CgogICAgLy9jb3V0IDw8IGggPDwgZW5kbDsKCiNpZmRlZiBIT01FCiAgICBjZXJyIDw8ICJ0aW1lID0gIiA8PCBjbG9jaygpLzEwMDAgPDwgIiBtcyIgPDwgZW5kbDsKI2VuZGlmCiAgICByZXR1cm4gMDsKfQo=