#include #include #include using namespace atcoder; using mint = modint998244353; using namespace std; #define rep(i,n) for(int i=0;i<(n);i++) #define Inf 1000000001 mint dp[4005][4005]; mint sum[8005][4005]; int main(){ dp[0][0] = 1; rep(i,4005){ rep(j,4005){ if(i!=4004)dp[i+1][j] += dp[i][j]; if(j!=4004)dp[i][j+1] += dp[i][j]; if(i!=4004&&j!=4004)dp[i+1][j+1] += dp[i][j]*2; } } int center = 4002; rep(i,4001){ rep(j,4001){ sum[i-j + center][i] += dp[i][j]; } } rep(i,8005){ rep(j,4004){ sum[i][j+1] += sum[i][j]; } } int q; cin>>q; rep(_,q){ int x,y; scanf("%d %d",&x,&y); mint ans = 0; int t = x-y; int l = max(0,t); int r = min(x,t+y); t += center; //cout<