luogu#P11436. [Code+#8 决赛] 生成树

[Code+#8 决赛] 生成树

题目背景

搬运自 Code+ #8 决赛

题目描述

小 I 既喜欢生成树,又喜欢他的幸运数字 kk,所以小 I 想造出一个可以有重边自环的有向图,点从 11nn 编号,使得以 11 为根的外向生成树数量恰好kk。但小 I 太穷了,手边只有 100 条有向边,所以他请求你的帮助,请你帮他造出这样的一个有向图,或者告诉他这是不可能的。

输入格式

本题有多组测试数据。

输入的第一行包含一个正整数 qq,表示询问次数。接下来 qq 行每行包含一个正整数 kk,描述一次询问。

输出格式

对于每次询问,若不存在方案,只需要输出一行一个整数 -1。否则输出多行:第一行两个整数 n,mn,m,分别表示你给出的有向图的点数和边数,你需要保证 1n101,0m1001 \le n \le 101, 0 \le m \le 100。接下来 mm 行,第 ii 行两个整数 ui,viu_i,v_i,表示一条从 uiu_iviv_i 的有向边。你需要保证 1ui,vin1 \le u_i, v_i \le n

2
1
7
1 0
3 6
1 2
1 2
2 3
2 3
1 3
3 2

提示

【数据范围】

对于所有数据,1q1001 \le q \le 1001k7×10151 \leq k \le 7 \times 10^{15}

本题采用 Subtask\text{Subtask} 捆绑测试。

Subtask\text{Subtask} 分值 特殊性质
11 33 k100k\le100
22 77 存在整数 0a,b200 \le a,b \le 20 使得 k=2a3bk = 2^a3^b
33 1010 q=1,k=101q=1, k = 101
44 k103k \le 10^3
55 77 k104k \le 10^4
66 k106k \le 10^6
77 88 k3×107k \le 3 \times 10^7
88 k8×109k \le 8 \times 10^9
99 1010 k1012k \le 10^{12}
1010 k3×1014k \le 3 \times 10^{14}
1111 2020 k7×1015k \le 7 \times 10^{15}