#P1012. Joseph

Joseph

描述

约瑟夫问题是广为人知的。对于那些不熟悉原始问题的人:有(n)个人,编号为(1)、(2)、……、(n),他们站成一个圆圈,每隔(m)个人就会被处决,只有最后剩下的那个人的生命会被挽救。约瑟夫足够聪明,能够选择成为最后剩下的那个人的位置,从而挽救了自己的生命,并向我们传达了关于这个事件的信息。例如,当(n = 6)且(m = 5)时,人们将按照(5)、(4)、(6)、(2)、(3)的顺序被处决,而(1)号会被挽救。

假设存在(k)个好人以及(k)个坏人。在圆圈中,前(k)个是好人,后(k)个是坏人。你必须确定最小的(m)值,使得在第一个好人被处决之前,所有的坏人都能被处决。

输入

输入文件由若干行组成,每行包含一个整数(k)。输入文件的最后一行包含(0)。你可以假定(0 < k < 14)。

输出

输出文件将由若干行组成,每行包含与输入文件中(k)相对应的(m)值。

输入示例

3
4
0

输出示例

5
30

来源

1995年中欧地区竞赛