#include #include using namespace std; using ll = long long; #define rep(i, s, t) for (ll i = s; i < (ll)(t); i++) template bool chmin(T &x, T y) { return x > y ? (x = y, true) : false; } template bool chmax(T &x, T y) { return x < y ? (x = y, true) : false; } struct io_setup { io_setup() { ios::sync_with_stdio(false); std::cin.tie(nullptr); cout << fixed << setprecision(15); } } io_setup; int main(){ int x,y; cin>>x>>y; int n=x*y; int m=x*y; vector> g; rep(i,0,x){ g.push_back({i,i+x}); } rep(j,0,y-2){ rep(i,0,x) g.push_back({i+x*(1+j),i+x*(2+j)}); } rep(i,0,x-1){ g.push_back({i+x*(y-1),i+x*(y-1)+1}); } g.push_back({x-1+x*(y-1),x*(y-1)}); assert(g.size()==m); cout<