#include #include #include #include #include using namespace std; int H,W,N,D; bool ex[1<<17]; void f(int x,int y,auto g) { for(int dx=-D;dx<=D;dx++) { int nd=D-abs(dx); for(int dy=-nd;dy<=nd;dy++)if(dx!=0||dy!=0) { int tx=x+dx,ty=y+dy; if(tx<0||ty<0||tx>=H||ty>=W)continue; g(tx*W+ty); } } } bool in[1<<17]; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cin>>H>>W>>N>>D; for(int i=0;i>x>>y;x--,y--; ex[x*W+y]=true; } atcoder::dsu uf(H*W); for(int i=0;ig:uf.groups())if(g.size()>=2) { cnt++; for(int u:g)in[u]=true; } int ansmax=0,ansmin=1e9; vectorcur; for(int i=0;i