#include <iostream>
#include <random>   // 使用更现代的随机数引擎
#include <algorithm>

using namespace std;

int main() {
    long long n_limit;
    int q_limit;
    
    // 提示用户输入上限
    // 手机端运行时建议 N=100000, Q=100 左右方便查看
    // 提交测试建议 N=100000, Q=100000
    cout << "请输入 N 的最大值: ";
    cin >> n_limit;
    cout << "请输入 Q 的最大值: ";
    cin >> q_limit;

    // 1. 初始化随机数种子 (使用硬件随机种子)
    random_device rd;
    mt19937 gen(rd());
    
    // 2. 定义分布范围 [1, n_limit]
    uniform_int_distribution<long long> dis(1, n_limit);

    // 3. 输出第一行 N 和 Q
    cout << n_limit << " " << q_limit << "\n";

    // 4. 循环生成 Q 行随机区间
    for (int i = 0; i < q_limit; ++i) {
        long long u = dis(gen);
        long long v = dis(gen);
        
        // 确保输出格式为 L R，且 L <= R
        long long L = min(u, v);
        long long R = max(u, v);
        
        cout << L << " " << R << "\n";
    }

    return 0;
}
