#include using namespace std; using ll = long long; #ifdef LOCAL #include #else #define debug(...) #endif int main() { cin.tie(nullptr); ios::sync_with_stdio(false); cout << fixed << setprecision(20); int X, Y; cin >> X >> Y; vector> G(X * Y); for (int i = 0; i < X; i++) { for (int j = 0; j < Y - 1; j++) { G[i * Y + j].emplace_back(i * Y + j + 1); } } for (int i = 0; i < X; i++) { int from = i * Y, to = ((i + 1) * Y) % (X * Y); G[from].emplace_back(to); } cout << X * Y << " " << X * Y << "\n"; for (int i = 0; i < X * Y; i++) { for (int j : G[i]) { cout << i + 1 << " " << j + 1 << "\n"; } } }