2007: 高峰负荷

内存限制:128 MB 时间限制:10 S
题面:传统 评测方式:文本比较 上传者:
提交:5 通过:4

题目描述

最近你一定经历过,当太多人同时使用BBS时,网络变得非常非常缓慢。
为了解决这一问题,Sysop制定了一项高峰负荷时的应急计划,以系统、完全公平的方式切断大学部分建筑的网络接入。我们的大学建筑是从1到n随机枚举的。XWB是第1,曹光彪(CGB)建筑是第2,依此类推。
然后,随机抽取一个数字m,首先在1号楼(显然是最公平的起点)切断BBS访问,然后在之后的每一个第m栋楼中,在n之后绕到1,忽略已经切断的建筑物。例如,如果n=17,m=5,则将按照[1,6,11,16,5,12,9,17,10,15,14,3,8,13,7]的顺序切断对建筑物的净访问。问题是,显然最公平的做法是将CGB大楼最后一栋(毕竟,这是最好的程序员所在的地方),因此对于给定的n,需要仔细选择随机数m,以使2号楼是最后一栋被选中的大楼。
你的工作是编写一个程序,读取多个建筑物n,然后确定最小的整数m,以确保我们的CGB大楼可以上网,而大学的其他部分被切断。

输入格式

输入文件将包含一行或多行,每行包含一个整数n,其中3<=n<150,表示大学中的建筑数量。
对于n,输入以零值(0)终止。

输出格式

对于输入的每一行,打印一行包含满足上述要求的整数m。

输入样例 复制

3
4
5
6
7
8
9
10
11
12
0

输出样例 复制

2
5
2
4
3
11
2
3
8
16