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