1 #include <iostream>
2 #include<cstdio>
3 using namespace std;
4
5 int main()
6 {
7 int p,e,i,d,n,counts = 0,ans;
8 //(x+d)%23=p,(x+d)%28=e,(x+d)%33=i,使用中国剩余定理
9 //因为23,28,33,可直接使用定理,令x+d=n
10 // 使 33 * 28 * a % 23 = 1,得a = 6; 33 * 28 * 6 = 5544;
11 // 使23 * 33 * b % 28 = 1, 得b = 19;23 * 33 * 19 = 14421;
12 // 使23 * 28 * c % 33 = 1, 得c = 2; 23 * 28 * 2 = 1288。
13 // 那么n = 5544 * p + 14421 * e + 1288 * i
14 while(scanf("%d%d%d%d",&p,&e,&i,&d)!=EOF)
15 {
16 counts++;
17 if(p==-1)
18 break;
19 n = ((5544*p+14421*e+1288*i)%21252+21252)%21252;//防止出现负数
20 ans = n-d;//(正数)
21 if(ans<=0)
22 ans+=21252;
23 printf("Case %d: the next triple peak occurs in %d days.\n",counts,ans);
24 }
25 return 0;
26 }