""" https://yukicoder.me/problems/no/3115 まぁギャグだとは思うが Xが大きい素数の時、3では1が返ってくるのでそれを前提に考えよう まぁフェルマーの小定理 X^A mod B Bを素数にしておいて、A = B-1 にすると X' が1になってくれる場合が多い XがBの倍数の時 (xB)^(B-1) mod B は0になる?? gcd(X,Y) だけで、Xの倍数かチェックしないといけない """ """ def Sieve(n): #n以下の素数全列挙(O(nloglogn)) retは素数が入ってる。divlisはその数字の素因数が一つ入ってる ret = [] divlis = [-1] * (n+1) #何で割ったかのリスト(初期値は-1) flag = [True] * (n+1) flag[0] = False flag[1] = False ind = 2 while ind <= n: if flag[ind]: ret.append(ind) ind2 = ind ** 2 while ind2 <= n: flag[ind2] = False divlis[ind2] = ind ind2 += ind ind += 1 return ret,divlis plis,_ = Sieve(10**5) for B in plis: A = B-1 if pow(A,B,10**9+7) % B == 0: print (B) """ print (88,89,flush=True) K = int(input()) if K % 89 == 0: print (0) else: print (1)