觉得代码没有啥问题,但是提交上去答案错误

问题遇到的现象和发生背景

【题目描述】
假设今天是星期日,那么过ab天之后是星期几?

【输入】
两个正整数a,b,中间用单个空格隔开。0<a≤100,0<b≤10000。

【输出】
一个字符串,代表过ab天之后是星期几。

其中,Monday是星期一,Tuesday是星期二,Wednesday是星期三,Thursday是星期四,Friday是星期五,Saturday是星期六,Sunday是星期日。

【输入样例】
3 2000
【输出样例】
Tuesday

问题相关代码,请勿粘贴截图
#include<iostream>
using namespace std;
int main(){
    int a,b,d=0;
    cin >> a >> b;
    for(int i=1;i<=b;i++){
        d+=a;
    }
    switch(d%7){
        case 0:cout << "Sunday";break;
        case 1:cout << "Monday";break;
        case 2:cout << "Tuesday";break;
        case 3:cout << "Wednesday";break;
        case 4:cout << "Thursday";break;
        case 5:cout << "Friday";break;
        case 6:cout << "Saturday";break;
    }
    return 0;
}
运行结果及报错内容

没有全对

我的解答思路和尝试过的方法
我想要达到的结果

for(int i=1;i<=b;i++){
d+=a;
d%=7;
}
switch(d)