#include<stdio.h>#include<string.h>bool hash[10005];int INDEX[10005];int main(){int Z,I,M,L,cnt=1,inx;while(scanf("%d%d%d%d",&Z,&I,&M,&L)!=EOF){if(Z==0&&I==0&&M==0&&L==0)break;memset(hash,0,sizeof(hash));memset(INDEX,0,sizeof(INDEX));inx=0;hash[L]=true;while(1){L=(L*Z+I)%M;if(!hash[L]){inx++;hash[L]=true;INDEX[L]=inx;}else{inx++;break;}}printf("Case %d: %dn",cnt++,inx-INDEX[L]);}return 0;}


