/*
利用“中国剩余定理”求解,推导如下:
1.定理条件:23、28、33两两互质;
2.由(28*33)%23=4,找出(28*33*6)%23=5544%23=1,
即对整数(5544*p),可被28与33整除,除以23余p;
3.类似类似求出:
28对应整数(14421*e),可被23与33整除,除以28余e,
33对应整数(1288*i),可被23与28整除,除以33余i;
4.则对整数(5544*p+14421*e+1288*i),除以23余p,除以28余e,除以33余i,
注:上式为(28*33*6*p + 23*33*19*e + 23*28*2*i);
5.将题目中的输入分别对应于该整数的余数p,e,i,
再做按输出要求做相应处理即得解。
*/
#include<iostream>
using namespace std;
int main(){
int p, e, i, d, time = 1, n;
while (cin >> p >> e >> i >> d, p != -1){
n = (5544 * p + 14421 * e + 1288 * i) % 21252;
if (n <= d) n += 21252;//21252为23、28、33的最小公倍数
cout << "Case " << time++ << ": the next triple peak occurs in " << n - d << " days." << endl;
}
return 0;
}
//暴搜
#include<cstdio>
using namespace std;
int main(){
int p, e, i, d, r, c = 1;
while (scanf("%d%d%d%d", &p, &e, &i, &d), p != -1){
p %= 23; e %= 28; i %= 33;
for (r = d + 1; !((r % 23 == p) && (r % 28 == e) && (r % 33 == i)); r++);
printf("Case %d: the next triple peak occurs in %d days.\n", c++, r - d);
}
return 0;
}