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.
题意:给你一个圈,分别是1,2,3...,n,然后给a,b(1 ≤ n ≤ 100,1 ≤ a ≤ n,-100 ≤ b ≤ 100),a表示他现在所在的位置,b<0表示逆时针走,b>0表示顺时针走|b|步,问走完之后人所在的位置。
思路:如果|b|大于n表示经过一圈之后再走|b|-n步,所以人实际顺时针或者逆时针走的步数为|b|%n,如果是顺时针,答案便为 a+|b|%n > n? a+|b|%n-n : a+|b|%n,
否则答案为 a-|b|%n < 1 ? a-|b|%n+n : a-|b|%n
综合起来答案便是: (a+b)%n,小于0时要加上n
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,a,b;
scanf("%d%d%d",&n,&a,&b);
int ans=(a+b)%n;
if(ans<=0)
printf("%d\n",ans+n);
else
printf("%d\n",ans);
return 0;
}