Vasya lives in a round building, whose entrances are numbered sequentially by integers from 1 to n. Entrance n and entrance 1 are adjacent.
Today Vasya got bored and decided to take a walk in the yard. Vasya lives in entrance a and he decided that during his walk he will move around the house b entrances in the direction of increasing numbers (in this order entrance n should be followed by entrance 1). The negative value of b corresponds to moving |b| entrances in the order of decreasing numbers (in this order entrance 1 is followed by entrance n). If b = 0, then Vasya prefers to walk beside his entrance.

Help Vasya to determine the number of the entrance, near which he will be at the end of his walk.
The single line of the input contains three space-separated integers n, a and b (1 ≤ n ≤ 100, 1 ≤ a ≤ n, - 100 ≤ b ≤ 100) — the number of entrances at Vasya's place, the number of his entrance and the length of his walk, respectively.
Print a single integer k (1 ≤ k ≤ n) — the number of the entrance where Vasya will be at the end of his walk.
6 2 -5
3
5 1 3
4
3 2 7
3
The first example is illustrated by the picture in the statements.
题意:一个人散步,给了他的出发点和所走步数,问他最终停在哪个小区外面。
解题思路:根据题意得知,假设n=6,当b为负数时,这个人绕着逆时针走,就用这个序列6 5 4 3 2 1 6 5 4 3 2 1 6 5 4 3 2 1...,从中挑选起点,这么一步步走,当b为正数时,这个人绕着顺时针走,就用这个序列1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6...,从中挑选起点,这么一步步走。
代码如下:
#include <stdio.h>
int main()
{
int n,a,b;
scanf("%d%d%d",&n,&a,&b);
if(b==0)
printf("%d\n",a);
if(b>0)//顺时针
{
int yu=b%n;//余下的步数
if(a+yu<=n)//余下的步数不足以走过第n个小区
{
printf("%d\n",a+yu);
}
else
{
yu=yu-(n-a);
printf("%d\n",yu);
}
}
if(b<0))//逆时针
{
b=-b;
int bu=b%n;//余下的步数
if(bu<a)//序列是降序的,在纸上写写就知道了
{
printf("%d\n",a-bu);
}
else
{
printf("%d\n",n-(bu-a));
}
}
return 0;
}