#P3374. Cake Share

Cake Share

题目描述

Updog 准备享用美味的晚餐。正当他准备吃东西时,一场严重的意外发生了——GtDzx 出现了!GtDzx 声称自己已经三天没吃东西了(显然在撒谎),并要求 Updog 与他分享蛋糕。此外,他威胁 Updog,如果拒绝,就删除 Updog 在 POJ 上的账号!Updog 别无选择。

Updog 打算将蛋糕均匀切成 s 块(s ≥ 1),然后将其中的 t 块(0 ≤ t ≤ s)分给 GtDzx。显然,不同的 s 和 t 可能导致 GtDzx 得到相同量的蛋糕。例如,s=12、t=4 与 s=6、t=2 是相同的情况,因为 GtDzx 得到的蛋糕量相等。Updog 不会将蛋糕切成超过 N 块。

将所有可能的情况按 GtDzx 得到的蛋糕量从小到大排序。第一种情况是 t=0(没有蛋糕),最后一种情况是 s=t(GtDzx 得到整个蛋糕)。Updog 想知道,第 k 种情况中 GtDzx 得到的蛋糕量是多少。

输入格式

第一行包含两个整数 N(1 ≤ N ≤ 5000)和 C(0 ≤ C ≤ 3000)。接下来的 C 行每行包含一个正整数 ki,表示第 i 个查询:询问第 ki 种情况中 GtDzx 的蛋糕份额。

输出格式

按输入顺序,每个查询输出一行结果。若不存在第 ki 种情况,输出“No Solution”。

输入数据示例 1

5 4  
1  
7  
11  
12  

输出数据示例 1

0/1  
3/5  
1/1  
No Solution  

来源

POJ Monthly--2007.09.09, Updog