n,k,m=map(int,input().split())
my_dict={x:True for x in range(n)}
start=k
for i in range(1,n): # 外层循环的次数为n-1次,通过n-1轮游戏,淘汰掉n-1个数字,剩下的那个数字即代表获胜者
loop=0 # 内层循环的条件变量
pointer=start
while loop < m-1: # 内层循环,当 pointer经过m-1次有效移动(加一)后,内层循环结束(每一次内层循环表示一轮游戏结束,可以淘汰掉一个人)
flag=True
while flag: # 这个while循环用于进行pointer指针的有效加1,因为pointer移动过程中,如果my_dict[pointer]为False,则表示无效移动
pointer=pointer+1
if pointer == n: # 如果pointer等于n,表示来到了环的末尾,此时需要将pointer执行环首
pointer=0
if my_dict[pointer]==True: # 若 my_dict[pointer]==True 表示有效移动,意味着本次有效移动结束,将flag置为False,退出循环
flag=False
loop+=1 # 每次有效移动(while flag:循环结束)后,将loop加1
my_dict[pointer]=False # 每层循环结束(一轮游戏结束后),标记哪个数字被淘汰掉
flag=True # 然后寻找下一轮游戏的起始位置
while flag:
pointer=pointer+1
if pointer == n:
pointer=0
if my_dict[pointer]==True:
flag=False
start=pointer
#以上整个循环结束后,pointer所指向的数字 即为最后的获胜者
print(pointer)
# if my_dict[pointer]==False:
# if pointer+1 == n:
# pointer=0
# else:
# pointer+=1
# else:
# loop+=1 # loop + 1 表示为有效的+1
# if pointer+1 == n:
# pointer=0
# else:
# pointer+=1
# if loop == m-1:
# my_dict[pointer]=False
# if pointer+1 == n:
# pointer=0
# else:
# pointer+=1
# # print(f"loop={loop},pointer={pointer}")
# print(my_dict)
# start=pointer
# print(start)