#include #include #include #include #include #include #define mp(a,b) make_pair(a,b) using namespace std; typedef long long LL; typedef double db; int dp[55][55][55][3]; const int mod=998244353; int x[55]; vectorg[55]; int k; int dfs(int a,int b,int c,int no){ if(dp[a][b][c][no]!=-1) return dp[a][b][c][no]; int ans=0; if(no==0&&(abs(x[a]-x[b])>k||abs(x[a]-x[c])>k||abs(x[b]-x[c])>k)){ return dp[a][b][c][no]=0; } if(no==0){ ans++; } if(no==0){ int p=g[a].size(); for(int i=0;i>t; while (t--) { scanf("%d%d%d%d",&n,&m,&k,&q); for(int i=1;i<=n;i++) g[i].clear(); for(int i=1;i<=n;i++) scanf("%d",&x[i]); for(int i=0;i