101314: [AtCoder]ABC131 E - Friendships

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Score: $500$ points

Problem Statement

Does there exist an undirected graph with $N$ vertices satisfying the following conditions?

  • The graph is simple and connected.
  • The vertices are numbered $1, 2, ..., N$.
  • Let $M$ be the number of edges in the graph. The edges are numbered $1, 2, ..., M$, the length of each edge is $1$, and Edge $i$ connects Vertex $u_i$ and Vertex $v_i$.
  • There are exactly $K$ pairs of vertices $(i,\ j)\ (i < j)$ such that the shortest distance between them is $2$.

If there exists such a graph, construct an example.

Constraints

  • All values in input are integers.
  • $2 \leq N \leq 100$
  • $0 \leq K \leq \frac{N(N - 1)}{2}$

Input

Input is given from Standard Input in the following format:

$N$ $K$

Output

If there does not exist an undirected graph with $N$ vertices satisfying the conditions, print -1.

If there exists such a graph, print an example in the following format (refer to Problem Statement for what the symbols stand for):

$M$
$u_1$ $v_1$
$:$
$u_M$ $v_M$

If there exist multiple graphs satisfying the conditions, any of them will be accepted.


Sample Input 1

5 3

Sample Output 1

5
4 3
1 2
3 1
4 5
2 3

This graph has three pairs of vertices such that the shortest distance between them is $2$: $(1,\ 4)$, $(2,\ 4)$, and $(3,\ 5)$. Thus, the condition is satisfied.


Sample Input 2

5 8

Sample Output 2

-1

There is no graph satisfying the conditions.

Input

题意翻译

请你构造一个有 $n$ 个点的无向连通图,图上任意两个点之间的距离为 $1$ ,其中有 $k$ 对点 $(i,j)$ $(1\le i<j\le n)$ 之间的距离为 $2$ 。 输入一共包括一行两个整数 $n$ 与 $k$ 。 输出的第一行包括一个整数 $m$ ,表示总边数;接下来的 $m$ 行每行两个整数 $i,j$ ,表示 $i$ 与 $j$ 之间有一条边相连。 $\mathtt{translate\ by\ @}$[$\mathtt{GeChang}$](www.luogu.com.cn\user\300072).

加入题单

算法标签: