/*   @JUDGE_ID:   1705PZ   350   C */
#include <stdio.h>

int main()
{
	int k,count = 0,top,end;
	long z,i,m,l,next;
	long data[10000];

	while(1)
	{
		top = 1; end = 0;
		scanf("%ld %ld %ld %ld",&z,&i,&m,&l);
		if(z == 0 && i == 0 && m == 0 && l == 0) break;
		data[0] = l;
		while(!end)
		{
			next = (z * l + i) % m;
			for(k = 0;k < top;k++)
				if(next == data[k]){
					end = 1;
					break;
				}
			l = data[top++] = next;
		}
		printf("Case %d: %d\n",++count,top - k - 1);
	}
	return 0;
}
@END_OF_SOURCE_CODE
