#icpc2014springg. [icpc2014spring_g]Proportional Representation

[icpc2014spring_g]Proportional Representation

题目描述

JAGJAG 王国举行了议会议员选举。这个国家唯一采用的制度是政党名单比例代表制。在这个系统中,每个公民投票给一个政党,一个政党赢得的席位数量将与其获得的选票数量成正比。由于议会席位总数是整数,当然,通常不可能完全按比例分配席位。在 JAGJAG 王国中,使用以下称为 DHondtD'Hondt 方法的方法来确定每一方的席位数量。

假设每一方都有无限的候选人供应,并且每一方的候选人都以某种方式排序。对于获得 xx 票的政党的第 yy 候选人,分配价值 xy\dfrac{x}{y}。然后所有候选者按其分配价值的降序排序。第一个 TT 候选人被认为获胜,其中 TT 是席位总数,一个政党赢得的席位数是其获胜候选人的数量。

下面显示了一个包含三方的示例。

第一个政党获得了 4040 票的选票,第二个获得了 6060 票的选票,第三个获得了 3030 票的选票。如果席位总数为 T=9T = 9 ,则第一方将赢得 33 个席位,第二方 44 个席位,第三方 22 个席位。

在选择获胜候选人时:

  • 以抽签方式打破平局;
  • 任何并列的候选人都有机会获胜。

例如,在上面的示例中,如果 T=5T = 5,那么两个候选人的价值为 2020,并且有两种可能的结果:

  1. 第一方赢得 22 个席位、第二方 22 个席位,第三方 11 个席位。

  2. 第一方赢得 11 个席位、第二方 33 个席位,第三方 11 个席位。

你刚刚在电视上听到了选举结果。知道有效票的总数和每一方赢得的席位数,你想知道每一方获得了多少票。

给定 NN , MMSiS_i (1iM)\begin{pmatrix}1 \le i \le M\end{pmatrix},分别表示有效票总数,政党数量和第 ii 政党赢得的席位数量,你的任务是分别为每一方确定它收到的最小和最大可能的票数。请注意,在某些情况下,给定的 NNMMSiS_i 可能不存在这种情况。

输入格式

输入的第一行包含两个整数 NN (1N109)\begin{pmatrix}1 \le N \le 10^9 \end{pmatrix}MM (1M30,000)\begin{pmatrix}1 \le M \le 30{,}000 \end{pmatrix} ,其中 NN 是有效票数的总数 ,MM 是参与方的数量。

接下来是 MM 行,其中第 ii 行包含一个整数 SiS_i $\begin{pmatrix}0 \le S_i \le 30{,}000 \end{pmatrix}$,代表第 ii 党赢得的席位数。你可以假设存在 iiSi0S_i \ne 0

输出格式

如果给定的 NNMMSiS_i 不存在任何情况,则显示 impossible一词。否则,输出 MM 行,每行包含两个整数。第 ii 行中的第一个整数和第二个整数应该分别是第 ii 方获得的最小和最大可能票数。 \\

Sample Input 1\textrm{\textit{\textbf{Sample Input 1}}} :\\ 10  210\;2\\ 22\\ 11\\ $\textrm{\textit{\textbf{Output for the Sample Input 1}}}$ :\\ 5  75\;7\\ 3  53\;5\\

Sample Input 2\textrm{\textit{\textbf{Sample Input 2}}} : \\ 5  65\;6\\ 00\\ 22\\ 00\\ 22\\ 66\\ 00\\ $\textrm{\textit{\textbf{Output for the Sample Input 2}}}$ :\\ 0  00\;0\\ 1  11\;1\\ 0  00\;0\\ 1  11\;1\\ 3  33\;3\\ 0  00\;0\\