#include using namespace std; typedef long long ll; typedef long double ld; #define rep(i, a, n) for (int i = (a); i < (n); i++) #define per(i, a, n) for (int i = (n) - 1; i >= (a); i--) #define fi first #define se second int n,q; int a[5001][5001]; bool flag[5001][5001]; int main(void) { scanf("%i %i", &n, &q); //printf("a"); queue > f; int i; for(i=0;i> p={{-1,-1},{-1,0},{-1,1},{0,1},{1,1},{1,0},{1,-1},{0,-1}}; while(!f.empty()){ //printf("a"); auto x=f.front(); f.pop(); for(i=0;i<8;i++){ auto y=x; y.fi+=p[i].fi; y.se+=p[i].se; if(y.fi>=0&&y.fi<=5000&&y.se>=0&&y.se<=5000){ if(flag[y.fi][y.se]) continue; flag[y.fi][y.se]=true; a[y.fi][y.se]=a[x.fi][x.se]+1; f.push(y); } } } //printf("b"); for(i=0;i