a, b, x, N = map(int, input().split()) nxt = x X = [] while True: nxt = (nxt*a+b)%6 if nxt in X: break X.append(nxt) if len(X)%2==1: X = X+X #print(X) loop = len(X)*2 cnt = N//loop m = N%loop nowT = 0 nowA = 0 cntT = [0, 0] cntA = [0, 0] si = 0 if cnt > 0: for i in range(loop): saiT = X[si%len(X)]+1 nowT += saiT nowT %= 2 cntT[nowT]+=1 si += 1 saiA = X[si%len(X)]+1 nowA += saiA nowA %= 2 cntA[nowA]+=1 si+=1 cntT = [cntT[0]*cnt, cntT[1]*cnt] cntA = [cntA[0]*cnt, cntA[1]*cnt] for i in range(m): saiT = X[si%len(X)]+1 nowT += saiT nowT %= 2 cntT[nowT]+=1 si += 1 saiA = X[si%len(X)]+1 nowA += saiA nowA %= 2 cntA[nowA]+=1 si+=1 scoT = min(cntT) scoA = min(cntA) print(scoT, scoA)