Codeforces Round 236 (Div. 2)
C
Searching for Graph
Codeforces
1500
原题
← BD →
翻译中…

Let's call an undirected graph of $*n*$ vertices $*p*$-interesting, if the following conditions fulfill:

翻译中…
  • the graph contains exactly $2*n* + *p*$ edges;
  • the graph doesn't contain self-loops and multiple edges;
  • for any integer $*k*$ ($1 ≤ *k* ≤ *n*$), any subgraph consisting of $*k*$ vertices contains at most $2*k* + *p*$ edges.
翻译中…

A subgraph of a graph is some set of the graph vertices and some set of the graph edges. At that, the set of edges must meet the condition: both ends of each edge from the set must belong to the chosen set of vertices.

翻译中…

Your task is to find a $*p*$-interesting graph consisting of $*n*$ vertices.

翻译中…

Input

翻译中…

The first line contains a single integer $*t*$ ($1 ≤ *t* ≤ 5$) — the number of tests in the input. Next $*t*$ lines each contains two space-separated integers: $*n*$, $*p*$ ($5 ≤ *n* ≤ 24$; $*p* ≥ 0$; image) — the number of vertices in the graph and the interest value for the appropriate test.

翻译中…

It is guaranteed that the required graph exists.

翻译中…

Output

翻译中…

For each of the $*t*$ tests print $2*n* + *p*$ lines containing the description of the edges of a $*p*$-interesting graph: the $*i*$-th line must contain two space-separated integers $*a*_{*i*}, *b*_{*i*}$ ($1 ≤ *a*_{*i*}, *b*_{*i*} ≤ *n*; *a*_{*i*} ≠ *b*_{*i*}$) — two vertices, connected by an edge in the resulting graph. Consider the graph vertices numbered with integers from $1$ to $*n*$.

翻译中…

Print the answers to the tests in the order the tests occur in the input. If there are multiple solutions, you can print any of them.

翻译中…

样例

Input #1
1
6 0
Output #1
1 2
1 3
1 4
1 5
1 6
2 3
2 4
2 5
2 6
3 4
3 5
3 6
InputCopy OutputCopy
题目信息
题号
402C
时间限制
1 s
内存限制
256 MB
标签
暴力
构造
图论

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。