请问为什么不对呀?代码应该是有问题

题目描述
环由n个点组成,n个点按顺时针顺序标号1到n
模拟一个物体在环上的运动
输入
第一行一个整数n表示环的点数
第二行一个整数s表示物体初始在环上哪个点
第三行一个整数m表示操作数
接下来m行每行两个整数a b
a表示物体的运动方向,b表示物体的运动长度
运动方向的表示
1:顺时针
0:逆时针
输出
一行一个整数表示物体最终在哪个点上

#include<cstdio>
#include<cmath>
using namespace std;

int main(){
    int n,s,m,a,b,k;
    scanf("%d",&n);
    scanf("%d",&s);
    scanf("%d",&m);
    for(int i=1;i<=m;i++){
        scanf("%d %d",&a,&b);
        if(a==1){
            k=s+b;
            if(k>=n){
                k=s+b-n;
            }
        }
        if(a==0){
            k=s-b;
            if(k<=0){
                k=n-b-s;
            }
        }
    }
    printf("%d",k); 
    
    return 0;
}