你抓到了一种迷人的昆虫——“抖动虫”(jitterbug)。为了自娱自乐,你画了一个迷宫(可以表示为一个不含自环或重边的无向图),并教会了你的虫子在其中移动。你注意到,当你把虫子放在迷宫的某个顶点后,它会采用以下移动策略:等概率地选择当前顶点的一条关联边,并移动到该边的另一端;然后再次随机选择一条边,以此类推。
通常,你会把虫子放在迷宫的某个起点,并观察它直到它到达选定的终点(当然,起点和终点之间必须至少存在一条路径)。你喜欢看虫子在迷宫里跑来跑去,所以你想构造一个迷宫,使得虫子从起点到达终点所需的平均步数尽可能多。
例如,假设 $n = 3$。可以证明,在顶点 1 和 3 之间期望移动步数最长的迷宫是链式结构 1–2–3:平均移动步数为 4。
请构造一个包含 200 个顶点的迷宫,使得虫子从顶点 1 出发到达顶点 200 的平均步数至少为 $10^6$。
输入格式
输入的第一行包含两个空格分隔的整数 $n$ 和 $b$ —— 顶点的数量以及平均移动步数的下限(即,如果平均移动步数至少为 $b$,你的答案将被接受)。
本题仅有两个测试用例:
- $n = 3, b = 4$。
- $n = 200, b = 10^6$。
输出格式
第一行输出一个整数 $m$ —— 你构造的迷宫中的边数。
接下来的 $m$ 行描述迷宫的边。在第 $i$ 行输出两个整数 —— 第 $i$ 条边连接的顶点编号。请记住,边是双向的。
你的图必须不包含自环或重边;顶点 1 和 $n$ 之间必须至少存在一条路径。
样例
输入 1
3 4
输出 1
2 1 2 2 3