#include using namespace std; int main() { int X, Y; cin >> X >> Y; vector> edges; for (int i = 0; i < X; i++) { for (int j = 0; j < Y - 1; j++) { edges.push_back({i * Y + j, i * Y + j + 1}); } } for (int i = 0; i < X - 1; i++) { edges.push_back({i * Y, (i + 1) * Y}); } edges.push_back({(X - 1) * Y, 0}); int n = X * Y; int m = edges.size(); cout << n << " " << m << endl; for (auto [u, v] : edges) { cout << u + 1 << " " << v + 1 << endl; } return 0; }