#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define popcount __builtin_popcount using namespace std; typedef long long int ll; typedef pair P; int n, k; ll p; int x[4040], y[4040]; int a[4040][4040]; int dx[6]={1, -1, 0, 0, 1, -1}, dy[6]={0, 0, 1, -1, 1, -1}; ll s[4040][4040], s2[4040][4040]; ll sum(int i, int j, int d){ return s2[i+d][j+d]-s2[i][j]-s[i+d][j]+s[i][j]; } int main() { cin>>n>>k>>p; const int INF=1e9; for(int i=0; i que; for(int i=0; i>x[i]>>y[i]; x[i]--; y[i]--; que.push({x[i], y[i]}); a[x[i]][y[i]]=0; } while(!que.empty()){ P p=que.front(); que.pop(); int s=p.first, t=p.second; for(int i=0; i<6; i++){ int s1=s+dx[i], t1=t+dy[i]; if(!(s1>=0 && t1>=0 && s1a[s][t]+1){ a[s1][t1]=a[s][t]+1; que.push({s1, t1}); } } } for(int i=0; i1){ int m=(l+r)>>1; if(sum(i, j, m)>=p) r=m; else l=m; } ans+=n-i+1-r; } } cout<