来源:https://codeforces.com/contest/22/problem/C
System Administrator
Bob got a job as a system administrator in X corporation. His first task was to connect n servers with the help of m two-way direct connection so that it becomes possible to transmit data from one server to any other server via these connections. Each direct connection has to link two different servers, each pair of servers should have at most one direct connection. Y corporation, a business rival of X corporation, made Bob an offer that he couldn't refuse: Bob was asked to connect the servers in such a way, that when server with index v fails, the transmission of data between some other two servers becomes impossible, i.e. the system stops being connected. Help Bob connect the servers.
Input
The first input line contains 3 space-separated integer numbers n, m, v (3 ≤ n ≤ 105, 0 ≤ m ≤ 105, 1 ≤ v ≤ n), n — amount of servers, m — amount of direct connections, v — index of the server that fails and leads to the failure of the whole system.
Output
If it is impossible to connect the servers in the required way, output -1. Otherwise output m lines with 2 numbers each — description of all the direct connections in the system. Each direct connection is described by two numbers — indexes of two servers, linked by this direct connection. The servers are numbered from 1. If the answer is not unique, output any.
Examples
input
5 6 3
output
1 2 2 3 3 4 4 5 1 3 3 5
input
6 100 1
output
-1
翻译:Bob 在 X 公司找到了一份系统管理员的工作。他的第一个任务是在m双向直接连接的帮助下连接n台服务器,以便可以通过这些连接将数据从一台服务器传输到任何其他服务器。每个直接连接必须链接两个不同的服务器,每对服务器最多应该有一个直接连接。Y公司是X公司的商业竞争对手,他向Bob提出了一个他无法拒绝的提议:Bob被要求以这种方式连接服务器,当索引v的服务器发生故障时,其他两台服务器之间的数据传输变得不可能,即系统停止连接。帮助鲍勃连接服务器。
第一个输入行包含 3 个空格分隔的整数n, m,v (3 ≤ n ≤ 105, 0 ≤ m ≤ 105, 1 ≤ v ≤ n),n 是 服务器数量,m 是直接连接数量,v 代表了 导致整个系统故障的服务器索引。
如果无法以所需的方式连接服务器,请输出-1。否则,输出m行,每行 2 个数字 — 描述系统中所有直接连接。每个直接连接由两个数字描述 — 两个服务器的索引,由此直接连接链接。服务器的编号从 1 开始。如果答案不是唯一的,请输出任何答案。