#include <iostream>
#define MAXK 14
using namespace std;
bool check(int n, int k)
{
int all = n * 2, w = k % all;
for (int i = 1; i < n; i++)
{
all--;
if (--w < 0)
w = all;
w = (w + k) % all;
if (w <= n && w > 0)
return false;
}
return true;
}
int main()
{
int m[MAXK];
int i, j, k;
for (i = 1; i < MAXK; i++)
for (j = i + 1; ; j += (j % i == 0) ? i + 1 : 1)
if (check(i, j))
{
m[i] = j;
break;
}
while (scanf("%d", &k) && k)
printf("%d\n", m[k]);
return 0;
}
#define MAXK 14
using namespace std;
bool check(int n, int k)
{
int all = n * 2, w = k % all;
for (int i = 1; i < n; i++)
{
all--;
if (--w < 0)
w = all;
w = (w + k) % all;
if (w <= n && w > 0)
return false;
}
return true;
}
int main()
{
int m[MAXK];
int i, j, k;
for (i = 1; i < MAXK; i++)
for (j = i + 1; ; j += (j % i == 0) ? i + 1 : 1)
if (check(i, j))
{
m[i] = j;
break;
}
while (scanf("%d", &k) && k)
printf("%d\n", m[k]);
return 0;
}
浙公网安备 33010602011771号