//Judge test 3 #include using namespace std; using ll = long long; #define fi first #define se second #define pb push_back int main(){ int t; cin>>t; while(t--){ int n,m; cin>>n>>m; if(n%2==0&&m%2==0){ printf("%d\n",n*m-1); int nowi=1,nowj=1; for(int i=0;i<(n*m)/4;i++){ if(nowi%2==1){ if(nowj!=m/2){ printf("%d %d\n",nowi*2-1,nowj*2-1); printf("%d %d\n",nowi*2,nowj*2); printf("%d %d\n",nowi*2,nowj*2-1); printf("%d %d\n",nowi*2-1,nowj*2); nowj+=1; } else{ printf("%d %d\n",nowi*2-1,nowj*2-1); printf("%d %d\n",nowi*2,nowj*2); printf("%d %d\n",nowi*2-1,nowj*2); printf("%d %d\n",nowi*2,nowj*2-1); nowi+=1; } } else{ if(nowj==m/2){ printf("%d %d\n",nowi*2-1,nowj*2-1); printf("%d %d\n",nowi*2,nowj*2); printf("%d %d\n",nowi*2-1,nowj*2); printf("%d %d\n",nowi*2,nowj*2-1); if(nowj==1){ nowi+=1; } else{ nowj-=1; } } else if(nowj!=1){ printf("%d %d\n",nowi*2,nowj*2); printf("%d %d\n",nowi*2-1,nowj*2-1); printf("%d %d\n",nowi*2-1,nowj*2); printf("%d %d\n",nowi*2,nowj*2-1); nowj-=1; } else{ printf("%d %d\n",nowi*2,nowj*2); printf("%d %d\n",nowi*2-1,nowj*2-1); printf("%d %d\n",nowi*2-1,nowj*2); printf("%d %d\n",nowi*2,nowj*2-1); nowi+=1; } } } } else{ printf("-1\n"); } } }