合并香蕉

题目背景

![](https://cdn.luogu.com.cn/upload/image_hosting/xi3q8vw1.png)

题目描述

有 $n$ 条大香蕉,第 $i$ 条大香蕉可简化为一个正整数二元组 $(a_i,k_i)$,其中 $2\le k_i\le 10$。 初始时有 $n$ 堆大香蕉,第 $i$ 堆只包含第 $i$ 条大香蕉。 每次可以选择不同的两堆合并,合并时会损耗香蕉的大小。 具体地,如果第 $i$ 条香蕉**参与了合并**,则其大小 $a_i$ 会变为原来的 $\frac{1}{k_i}$ 倍。 **参与了合并**:合并前在两堆香蕉中的某一堆中。 你想把大香蕉们合为一堆,由于香蕉越大越好,你需要让操作结束后所有的 $a_i$ 之和**越大越好**。 考虑到求出最优解可能会比较困难,你只需要**尽可能接近标准答案**即可,具体参见**评分标准**。 为了防止你乱输出一个数,你还需要**输出方案**,具体参见**输出格式**。

输入输出格式

输入格式


第一行一个正整数代表 $n$。 接下来 $n$ 行,每行两个正整数代表 $a_i,k_i$。

输出格式


输出 $n-1$ 行,每行两个数 $x,y$ 代表合并第 $x$ 堆和第 $y$ 堆。 对于第 $i$ 次合并,我们记新形成的香蕉堆是第 $n+i$ 堆,而原来的两个香蕉堆(第 $x$ 堆、第 $y$ 堆)从此将**被视为不存在** ,所以之后的合并中不允许调用 $x$ 和 $y$,否则你将会爆零。

输入输出样例

输入样例 #1

3
1 10
27 3
32 2

输出样例 #1

1 2
4 3

说明

### 样例解释 该样例输出对应的操作结束后满足 $a=(0.01,3,16)$,对应的 $a_i$ 之和为 $19.01$。 另外,如果输出如下,则操作结束后满足 $a=(0.01,9,8)$,对应的 $a_i$ 之和为 $17.01$,可以获得 $4$ 分。 ``` 1 3 2 4 ``` ### 评分标准 对于每个测试点,我们采用如下方式评分: - 如果你的输出不合法,得 $0$ 分。 - 否则设你输出的方案对应的操作结束后的 $a_i$ 之和为 $f$,标准答案输出的方案对应的操作结束后的 $a_i$ 之和为 $ans$,则你的得分 $s=\lfloor \max\{0,10-\log_{10} \max\{1,\frac{ans-f}{\epsilon}\}\}\rfloor$ 分,其中 $\epsilon=10^{-5}$。 ### 数据范围 本题共有 $10$ 个测试点,每个测试点 $10$ 分。 | 测试点编号 | $n=$ | 特殊性质 | | :----------: | :----------: | :----------: | | $1$ | $3$ | 无 | | $2$ | $5$ | 无 | | $3$ | $10$ | 无 | | $4$ | $20$ | 无 | | $5$ | $100$ | 无 | | $6$ | $10^3$ | 无 | | $7$ | $10^5-3$ | $a_i=1$ 且 $k_i=2$ | | $8$ | $10^5-2$ | $a_i=1$ | | $9$ | $10^5-1$ | $k_i=2$ | | $10$ | $10^5$ | 无 | 对于所有数据,保证 $3\le n\le 10^5$,$1\le a_i\le 10^5$,$2\le k_i\le 10$。