def count_trailing_pairs(s): count = 0 i = len(s) - 1 while i >= 1 and s[i-1] == '(' and s[i] == ')': count += 1 i -= 2 return count def is_balanced(s): stack = 0 for c in s: if c == '(': stack += 1 else: stack -= 1 if stack < 0: return False return stack == 0 def is_winning(h): k = count_trailing_pairs(h) h_prime = h[:len(h) - 2*k] if not h_prime: return k % 2 == 1 if len(h_prime) >= 2 and h_prime[0] == '(' and h_prime[-1] == ')' and is_balanced(h_prime): h1 = h_prime[1:-1] h1_win = is_winning(h1) prime_win = not h1_win else: prime_win = is_winning(h_prime) return (prime_win and (k % 2 == 1)) or (not prime_win and (k % 2 == 0)) H = input().strip() result = is_winning(H) if result: print(0) else: print(1)