Harryxun/stf_run huggingface dataset:
n = int(input())
i = 0
flag = false
while(7*i<=n):
  if (n-7*i)%4 == 0:
    flag = true
    break
  i+=1
if flag:
  print("Yes")
else:
  print("No")


### FIXED CODE ###

n = int(input())
i = 0
flag = False
while(7*i<=n):
  if (n-7*i)%4 == 0:
    flag = True
    break
  i+=1
if flag:
  print("Yes")
else:
  print("No")
n, y = map(int, input().split())
for i in range(n+1):
    for j in range(n-j+1):
        if i*10000 + j*5000 + (n-i-j)*1000 == y:
            print(i, j, (n-i-j))
            exit()

print(-1, -1, -1)

### FIXED CODE ###

n, y = map(int, input().split())
for i in range(n+1):
    for j in range(n-i+1):
        if i*10000 + j*5000 + (n-i-j)*1000 == y:
            print(i, j, (n-i-j))
            exit()

print(-1, -1, -1)
import sys,queue,math,copy,itertools,bisect,collections,heapq

def main():
    sys.setrecursionlimit(10**7)
    INF = 10**18
    MOD = 10**9 + 7
    LI = lambda : [int(x) for x in sys.stdin.readline().split()]
    NI = lambda : int(sys.stdin.readline())
    SI = lambda : sys.stdin.readline().rstrip()

    N = NI()
    A = [0 for _ in range(N+1)]
    S = [1 for _ in range(N+1)]
    C = [NI() for _ in range(N)]
    P = 1
    A[C[0]] = 1
    for i in range(1,N):
        if C[i] != C[i-1] and A[C[i]] > 0:
            S[C[i]] = S[C[i]] + P
        else:
            S[C[i]] = P
        A[C[i]] = 1
        P = S[C[i]]
    print(P)




if __name__ == '__main__':
    main()

### FIXED CODE ###

import sys,queue,math,copy,itertools,bisect,collections,heapq

def main():
    sys.setrecursionlimit(10**7)
    INF = 10**18
    MOD = 10**9 + 7
    LI = lambda : [int(x) for x in sys.stdin.readline().split()]
    NI = lambda : int(sys.stdin.readline())
    SI = lambda : sys.stdin.readline().rstrip()

    N = NI()
    CMAX = 2*10**5
    A = [0 for _ in range(CMAX+1)]
    S = [1 for _ in range(CMAX+1)]
    C = [NI() for _ in range(N)]
    P = 1
    A[C[0]] = 1
    for i in range(1,N):
        if C[i] != C[i-1] and A[C[i]] > 0:
            S[C[i]] = S[C[i]] + P
        else:
            S[C[i]] = P
        A[C[i]] = 1
        P = S[C[i]] % MOD
    print(P)


if __name__ == '__main__':
    main()
import string

S = list(map(str, input()))
s = sorted(set(S))

alphabet = string.ascii_lowercase

if len(s) == len(alphabet):
    print("None")

else:
    for i in range(30):
        if s[i] != alphabet[i]:
            print(alphabet[i])
            break


### FIXED CODE ###

import string

S = list(map(str, input()))
s = sorted(set(S))
count = 0

alphabet = string.ascii_lowercase

if len(s) == len(alphabet):
    print("None")

else:
    for i in range(len(s)):
        if s[i] != alphabet[i]:
            print(alphabet[i])
            break
        else:
            count += 1

if count == len(s):
    print(alphabet[len(s)])
C=str(input())
abc=['a', 'b', 'c', 'd' , 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
print(abc[abc.index(C)+1)])


### FIXED CODE ###

C=str(input())
abc=['a', 'b', 'c', 'd' , 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
print(abc[abc.index(C)+1])
N = int(input())
ans = 0

for i in range(1, N + 1):
  if (len(str(i) % 2 == 1):
      ans += 1
  else:
      continue

print(ans)

### FIXED CODE ###

N = int(input())
ans = 0
 
for i in range(1, N + 1):
  if (len(str(i)) % 2 == 1):
      ans += 1
  else:
      continue
print(ans)
a = input("a:")
b = input("b:")
a = int(a)
b = int(b)

if (a*b)%2 == 0:
    print("Even")
else:
    print("Odd")


### FIXED CODE ###

a,b = map(int,input().split())

if (a*b)%2 == 0:
    print("Even")
else:
    print("Odd")
n,d=map(int,input().split())
lists=[list(map(int,input().split())) for x in range(n)]
answer=0
for i in range(1,n):
  for j in range(2,n+1):
    for y in range(d):
      count=0
      count+=(lists[j-1][y]-lists[i-1][y])**2
      if is_integer(count**(1/2)):
        answer+=1
print(answer)
        

### FIXED CODE ###

n,d=map(int,input().split())
l=[list(map(int,input().split())) for i in range(n)]
cnt=0
for i in range(n-1):
  for j in range(i+1,n):
    sum=0
    for dd in range(d):
      sum+=(l[i][dd]-l[j][dd])**2
    if sum**0.5==int(sum**0.5):
      cnt+=1
print(cnt)
def f():
    N = int(input())
    A = []
    
    for n in range(N):
        templist = []
        for a in range(int(input())):
            templist.extend(list(map(int, input().split())))
        A.append(templist)
    
    print(A)
    
    maxlen = len(str(bin(2**len(A)-1).replace('0b','')))
    for j in reversed((range(2**len(A)))):
        tempb = str(bin(j).replace('0b',''))
        for i in range(maxlen - len(tempb)):
            tempb = '0'+tempb
        # ここでパターン仮置き確定
        tempj = list(map(int, list(tempb)))
        counter = 0
        for jj in range(len(tempj)):
            if tempj[jj] == 1: # 正直者の場合
                if tempj[A[jj][0]-1] != A[jj][1]:# 本当は違う
                    break
                else:
                    counter += 1
            else:
                if tempj[A[jj][0]-1] == A[jj][1]:# 本当はあってる
                    break
                else:
                    counter += 1
        if counter == len(A):
            return print(tempj.count(1))
            
    return print(tempj.count(1))
    
f()

### FIXED CODE ###

def f():
    N = int(input())
    A = []
    
    for n in range(N):
        templist = []
        for a in range(int(input())):
            templist.append(list(map(int, input().split())))
        A.append(templist)
    
    # print(A)
    J = [0]
    maxlen = len(str(bin(2**len(A)-1).replace('0b','')))
    for j in reversed((range(2**len(A)))):
        tempb = str(bin(j).replace('0b',''))
        for i in range(maxlen - len(tempb)):
            tempb = '0'+tempb
        # ここでパターン仮置き確定
        tempj = list(map(int, list(tempb)))
        counter = 0
        for jj in range(len(tempj)):
            if tempj[jj] == 1: # 正直者の場合
                # 証言の数だけループを回す
                shocounter = 0
                for s in range(len(A[jj])):
                    if tempj[A[jj][s][0]-1] != A[jj][s][1]:# 本当は違う
                        break
                    else:
                        shocounter += 1
                if shocounter == len(A[jj]):
                    counter += 1
            else:
                # 証言の数だけループを回す
                shocounter = 0
                for s in range(len(A[jj])):
                    if tempj[A[jj][s][0]-1] == A[jj][s][1]:# 本当はあってる
                        continue
                    else:
                        shocounter += 1
                if shocounter > 0:
                    counter += 1
        if counter == len(A):
            J.append(tempj.count(1))
    
    list.sort(J, reverse=True)        
    return print(J[0])
    
f()
from typing import List, Dict

INF = 10**9+1


def read_int() -> int:
    return int(input().strip())


def read_ints() -> List[int]:
    return list(map(int, input().strip().split(' ')))

def remove_if_gt(a, b):
    if a >= b:
        return a-b
    return a

def solve() -> int:
    N, K = read_ints()
    A = read_ints()
    S = []
    for i in range(N):
        prefix = 0
        for j in range(i, N):
            prefix += A[j]
            S.append(prefix)
    S.sort(reverse=True)
    highest_bit = 0
    while 1<<(highest_bit+1) <= S[0]:
        highest_bit += 1
    answer = 0
    while highest_bit >= 0:
        highest_bit_val = 1<<highest_bit
        count = 0
        for i in range(N):
            if S[i]&highest_bit_val != 0:
                count += 1
            else:
                break
        if count < K:
            S = [remove_if_gt(s, highest_bit_val) for s in S]
        else:
            answer += highest_bit_val
            S = [remove_if_gt(s, highest_bit_val) for s in S if s >= highest_bit_val]
        S.sort(reverse=True)
        highest_bit -= 1
    return answer


if __name__ == '__main__':
    print(solve())


### FIXED CODE ###

from typing import List, Dict

INF = 10**9+1


def read_int() -> int:
    return int(input().strip())


def read_ints() -> List[int]:
    return list(map(int, input().strip().split(' ')))

def remove_if_gt(a, b):
    if a >= b:
        return a-b
    return a

def solve() -> int:
    N, K = read_ints()
    A = read_ints()
    S = []
    for i in range(N):
        prefix = 0
        for j in range(i, N):
            prefix += A[j]
            S.append(prefix)
    S.sort(reverse=True)
    highest_bit = 40
    answer = 0
    while highest_bit >= 0:
        while 1<<highest_bit > S[0]:
            highest_bit -= 1
            if highest_bit < 0:
                return answer
        highest_bit_val = 1<<highest_bit
        count = 0
        for i in range(len(S)):
            if S[i] >= highest_bit_val:
                count += 1
            else:
                break
        if count < K:
            S = [remove_if_gt(s, highest_bit_val) for s in S]
        else:
            answer += highest_bit_val
            S = [remove_if_gt(s, highest_bit_val) for s in S if s >= highest_bit_val]
        S.sort(reverse=True)
    return answer


if __name__ == '__main__':
    print(solve())
def segfunc(x, y): return min(x, y)

class SegmentTree:
    def __init__(self, arr):
        size = len(arr)
        n = 2 ** (size - 1).bit_length()
        self.n = n
        self.node = [INF] * (2*n)
        for i in range(size):
            self.node[i+n-1] = arr[i]
        for i in reversed(range(n-2)):
            self.node[i] = segfunc(self.node[2*i+1], self.node[2*i+2])

    def update(self, i, x):
        i += self.n - 1
        self.node[i] = x
        while i > 0:
            i = (i - 1) // 2
            self.node[i] = segfunc(self.node[i * 2 + 1], self.node[i * 2 + 2])

    def update(self, x, val):
        x += (self.n - 1)
        self.node[x] = val
        while x > 0:
            x = (x - 1) // 2
            self.node[x] = segfunc(self.node[2 * x + 1], self.node[2 * x + 2])

    def query(self, a, b):
        res = INF
        l = self.n - 1 + a
        r = self.n - 1 + b

        while l <= r:
            if l == r:
                res = segfunc(res, self.node[l])
                break

            if l % 2 == 0:
                res = segfunc(res, self.node[l])
            if r % 2 == 1:
                res = segfunc(res, self.node[r])
            l = l // 2
            r = r // 2 - 1

        return res

N, K = map(int, input().split())
INF = 2 ** 31 - 1
seg = SegmentTree([INF] * 100005)
for i in range(K):
    c, x, y = map(int, input().split())
    if c == 0:
        seg.update(x, y + 1)
    else:
        print(seg.query(x, y))

### FIXED CODE ###

def segfunc(x, y): return max(x, y)

class SegmentTree:
    def __init__(self, arr):
        size = len(arr)
        n = 2 ** (size - 1).bit_length()
        self.n = n
        self.node = [0] * (2*n)
        for i in range(size):
            self.node[i+n-1] = arr[i]
        for i in reversed(range(n-2)):
            self.node[i] = segfunc(self.node[2*i+1], self.node[2*i+2])

    def update(self, i, x):
        i += self.n - 1
        self.node[i] = x
        while i > 0:
            i = (i - 1) // 2
            self.node[i] = segfunc(self.node[i * 2 + 1], self.node[i * 2 + 2])

    def update(self, x, val):
        x += (self.n - 1)
        self.node[x] = val
        while x > 0:
            x = (x - 1) // 2
            self.node[x] = segfunc(self.node[2 * x + 1], self.node[2 * x + 2])

    def query(self, a, b):
        res = 0
        l = self.n - 1 + a
        r = self.n - 1 + (b - 1)

        while l <= r:
            if l == r:
                res = segfunc(res, self.node[l])
                break

            if l % 2 == 0:
                res = segfunc(res, self.node[l])
            if r % 2 == 1:
                res = segfunc(res, self.node[r])
            l = l // 2
            r = r // 2 - 1

        return res

N, K = map(int, input().split())
INF = 0
seg = SegmentTree([0] * 300005)
for i in range(N):
    a = int(input())
    tmp = seg.query(max(a - K, 0), min(a + K, 300000) + 1) + 1
    seg.update(a, tmp)
print(seg.query(0, 300005))
a,b=map(int, input().split())
print(a//b, a%b, "{0:.8f}".format(a/b))

### FIXED CODE ###

a,b,c=map(int, input().split())
d=0
for i in range(a,b+1):
    if c%i==0:
        d+=1
print(d)
x=int(input())
(a,b)=divmod(x/500)
print(a*1000+b//5*5)

### FIXED CODE ###

x=int(input())
(a,b)=divmod(x,500)
print(a*1000+b//5*5)
N = input()
if N % 1000 == 0:
   print(0)
else:
  #N=5300として考えてみる
  ##5300払ったとして5
  sen = N//1000
  ##5*1000=5000円
  sen2 = sen*1000
  ##N(5300)-sen2(5000)
  atai = N-sen2
  #お釣りが300円と出るはずでは？
  print(atai)

### FIXED CODE ###

#! /usr/bin/python3

N = int(input())
1 <= N <= 10000

if N % 1000 == 0:
 print(0)
else:
  sen = N//1000
  sen2 = sen*1000
  atai = N-sen2
  atai2 = 1000-atai
  print(atai2)
N=int(input())
A=list(map(int,input().split()))
mod=10**9+7

dp=[3]
col=[1]
for i in range(1,N):
    if A[i]==0:
        col.append(1)
        dp.append(dp[-1]*(4-len(col)))
    else:
        dp.append(dp[-1]*col.count(A[i])%mod)
        col[col.index(A[i])]+=1
print(dp[-1]%mod)

### FIXED CODE ###

N=int(input())
A=list(map(int,input().split()))
mod=10**9+7

dp=[1]
col=[]
for i in range(N):
    if A[i]==0:
        col.append(1)
        dp.append(dp[-1]*(4-len(col)))
    else:
        p=0
        for c in range(len(col)):
            if col[c]==A[i]:
                p+=1
                if p==1:
                    col[c]+=1
        dp.append(dp[-1]*p%mod)

print(dp[-1]%mod)
a, b = map(int, raw_input().strip().split())

h, w = 100, 100
lines = []

orig_a = a

while a > 50:
    lines.append(list(".#" * 50))
    lines.append(list("#" * 100))
    a -= 50

if a > 1:
    left = ".#" * (a - 1)
    right = "#" * (100 - len(left))
    lines.append(list(left + right))
    lines.append(list("#" * 100))

while len(lines) < 100:
    lines.append(list("." * 100))

if orig_a != 1:
    b -= 1
cl = 99

while b > 49:
    for i in xrange(50):
        lines[cl][2 * i] = "#"
    b -= 50
    cl -= 2

if b > 0:
    for i in xrange(b):
        lines[cl][2 * i] = "#"

print h, w
for line in lines:
    print "".join(line)


### FIXED CODE ###

a = int(raw_input().strip())
b = int(raw_input().strip())
c = int(raw_input().strip())
d = int(raw_input().strip())

print min(a, b) + min(c, d)
from collections import deque


def solve(N, K, ABs):
    Ds = [0 for _ in range(N + 1)]
    Ws = {i: [] for i in range(N + 1)}
    for a, b in ABs:
        Ws[a].append(b)
        Ws[b].append(a)

    Ds[1] = K

    s = Ws[1][0]
    Ds[s] = K - 1

    queue = deque()
    queue.append(1)
    queue.append(s)

    while queue:
        s = queue.popleft()
        k = K - 2
        for w in Ws[s]:
            if Ds[w] == 0:
                Ds[w] = k
                k -= 1
                queue.append(w)
    ans = 1
    for i in range(1, N + 1):
        if Ds[i] <= 0:
            return 0
        ans *= Ds[i]
        ans %= 1000000007
    return (ans % 1000000007)


# print(solve(4, 3, [(1, 2), (2, 3), (3, 4)]))
assert (solve(1, 1, []) == 1)
assert (solve(1, 2, []) == 2)
assert (solve(1, 10000, []) == 10000)

assert (solve(2, 1, [(1, 2)]) == 0)
assert (solve(3, 1, [(1, 2), (1, 3)]) == 0)
assert (solve(3, 2, [(1, 2), (1, 3)]) == 0)
assert (solve(3, 2, [(1, 2), (2, 3)]) == 0)
assert (solve(2, 2, [(1, 2)]) == 2)

assert (solve(2, 10000, [(1, 2)]) == 10000 * 9999)
assert (solve(3, 10000, [(1, 2), (1, 3)]) == (10000 * 9999 * 9998) % 1000000007)
assert (solve(3, 10000, [(1, 2), (2, 3)]) == (10000 * 9999 * 9998) % 1000000007)

assert (solve(4, 3, [(1, 2), (1, 3), (1, 4)]) == 0)

assert (solve(4, 3, [(1, 2), (2, 3), (3, 4)]) == 6)
assert (solve(5, 4, [(1, 2), (1, 3), (1, 4), (4, 5)]) == 48)
assert (solve(16, 22,
              [(12, 1), (3, 1), (4, 16), (7, 12), (6, 2), (2, 15), (5, 16), (14, 16), (10, 11), (3, 10), (3, 13),
               (8, 6), (16, 8), (9, 12), (4, 3)]) == 271414432)

if __name__ == "__main__":
    N, K = tuple(map(int, input().split(" ")))
    ABs = [tuple(map(int, input().split(" "))) for _ in range(N - 1)]
    print(solve(N, K, ABs))


### FIXED CODE ###

from collections import deque


def solve(N, K, ABs):
    if N == 1:
        return K

    Ds = [-1 for _ in range(N + 1)]
    Ws = {i: [] for i in range(N + 1)}
    for a, b in ABs:
        Ws[a].append(b)
        Ws[b].append(a)

    for i in range(1, N + 1):
        if Ds[i] == -1:
            Ds[i] = K

            if Ws[i]:
                s = Ws[i][0]
                Ds[s] = K - 1

                queue = deque()
                queue.append(i)
                queue.append(s)

                while queue:
                    s = queue.popleft()
                    k = K - 2
                    for w in Ws[s]:
                        if Ds[w] == -1:
                            Ds[w] = k
                            k -= 1
                            queue.append(w)

    ans = 1
    for i in range(1, N + 1):
        if Ds[i] <= 0:
            return 0
        ans *= Ds[i]
        ans %= 1000000007
    return ans % 1000000007

if __name__ == "__main__":
    N, K = tuple(map(int, input().split(" ")))
    ABs = [tuple(map(int, input().split(" "))) for _ in range(N - 1)]
    print(solve(N, K, ABs))
import collections

N = int(input())
words = []
top = int()
for i in range(N):
    words.append(input())
c = collections.Counter(words)

c_sorted = sorted(c.items(), reverse=True, key=lambda x : x[1])

top = int(c_sorted[0][1])
answer = []
count = int(0)
for i in range(N):
    if int(c_sorted[i][1]) == top:
        answer.append(c_sorted[i][0])
        count = count + 1
    else:
        break

answer.sort()

for i in range(count):
    print(answer[i])

### FIXED CODE ###

import collections

N = int(input())
words = []
top = int()
for i in range(N):
    words.append(input())
c = collections.Counter(words)

c_sorted = sorted(c.items(), reverse=True, key=lambda x : x[1])

top = int(c_sorted[0][1])
answer = []
count = int(0)
length = len(c_sorted)
unko = str()

if length == 1:
    unko = "unko"
else:
    for i in range(N):
        if int(c_sorted[i][1]) == top:
            answer.append(c_sorted[i][0])
            count = count + 1
        else:
            break

answer.sort()

if unko == "unko":
    print(c_sorted[0][0])
else:
    for i in range(count):
        print(answer[i])
class Point(object):
    x = 0.0
    y = 0.0
    def __init__(self, x, y):
        self.x = x
        self.y = y
    def __sub__(left, right):
        return Point(left.x - right.x, left.y - right.y)
    #cross
    def __mul__(left, right):
        return left.x * right.y - left.y * right.x

while True:
    try:
        (x1, y1, x2, y2, x3, y3, x4, y4) = [int(i) for i in raw_input().split()]
    except EOFError:
        break
    a = Point(x1, y1)
    b = Point(x2, y2)
    c = Point(x3, y3)
    d = Point(x4, y4)
    ab = a - b
    cd = c - d
    if(a * b == 0):
        print 'YES'
    else:
        print 'NO'

### FIXED CODE ###

for i in range(int(raw_input())):
    (x1, y1, x2, y2, x3, y3, x4, y4) = map(float,raw_input().split())
    x1 -= x2
    y1 -= y2
    x3 -= x4
    y3 -= y4
    if(x1 == 0 or x3 == 0):
        if(x1 == 0 and x3 == 0):
            print 'YES'
        else:
            print 'NO'
    else:
        if(y1 / x1 == y3 / x3):
            print 'YES'
        else:
            print 'NO'
import sys

n,k=map(int,input().split())
a=list(map(int,input().split()))

if k==0:
    print(max(a))
    sys.exit()

def rf(mm):
    if mm==0:
        mm=1
    icnt=0
    for i in range(n):
        icnt+=(a[i]-1)//mm+1
    return icnt

asum=sum(a)
m=asum//(n+k)
um=asum
lm=1
for ii in range(60):
    if rf(m)<=(n+k) and rf(m-1)>(n+k):
        break
    if um-lm<5:
        break
    if rf(m)>(n+k):
        lm=m
        m=int((um+lm)//2)-1
    elif rf(m)<(n+k):
        um=m
        m=int((um+lm)//2)+1
    else:
        um=m-1
        m=int((um+lm)//2)
#    if rf(m)==(n+k) and um-lm<5:

for mi in range(um,max(0,lm-1),-1):
#for mi in range(m+5,max(0,m-10),-1):
    if rf(mi)<=(n+k) and rf(mi-1)>(n+k):
#    if rf(mi)!=rf(mi-1):
        break

print(mi)



### FIXED CODE ###

import sys

n,k=map(int,input().split())
a=list(map(int,input().split()))

if k==0:
    print(max(a))
    sys.exit()

def rf(mm):
    if mm==0:
        mm=1
    icnt=0
    for i in range(n):
        icnt+=(a[i]-1)//mm+1
    return icnt

asum=sum(a)
m=asum//(n+k)
um=asum
lm=1
for ii in range(60):
    if m==1:
        break
    if rf(m)<=(n+k) and rf(m-1)>(n+k):
        break
    if um-lm<5:
        break
    if rf(m)>(n+k):
        lm=m
        m=(um+lm)//2-1
    elif rf(m)<(n+k):
        um=m
        m=(um+lm)//2-1
    else:
        um=m-1
        m=(um+lm)//2-1
#    if rf(m)==(n+k) and um-lm<5:

if um<1:
    print(1)
    sys.exit()
    
for mi in range(um,max(0,lm-1),-1):
    if rf(mi)<=(n+k) and rf(mi-1)>(n+k):
        break

print(mi)
total = int(input())
s = input()
 
if total%2 == 1:
  print("No")
else:
  if(s[:total/2]==s[total/2:]):
    print("Yes")
  else:
      print("No")

### FIXED CODE ###

total = int(input())
s = input()
 
if total%2 == 1:
  print("No")
else:
  if(s[:int(total/2)] == s[int(total/2):]):
    print("Yes")
  else:
      print("No")
# -*- coding: utf-8 -*-

import math
X, Y = map(int, raw_input().split())
cnt = 0
num = X
while num <= Y:
    cnt += 1
    num = num*2

print(cnt)


### FIXED CODE ###

# -*- coding: utf-8 -*-

X, Y = map(int, input().split())
cnt = 0
num = X
while num <= Y:
    cnt += 1
    num = num*2

print(cnt)
a=list(map(int,input().split()))
if a[1]==a[2]==a[3]:
  print('No')
else:
  print('Yes')

### FIXED CODE ###

a=list(input())
if a[0]==a[1]==a[2]:
  print('No')
else:
  print('Yes')
_, *a = open(0)
print(["second","first"][any(int(b)%2 for b in a)]

### FIXED CODE ###

_, *a = open(0)
print(["second","first"][any(int(b)%2 for b in a)])
import math
pi = math.pi
r = int(input())
area = pi*pi*r
length = pi*r*2

print('{:.5f}'.format(area),'{:5f}'.format(length))


### FIXED CODE ###

pi = 3.14159265359 
r = float(input()) 
area = r*r*pi 
length = 2*r*pi 

print('{:.6f}'.format(area),'{:.6f}'.format(length))
import collections
h,w = map(int,input().split())
s=[list(input()) for _ in range(h)]
deq = collections.deque([[0,0,0]])

while deq:
    i,j,k = deq.popleft()
    if not((i in range(h)) and (j in range(w))):
        continue
    if s[i][j] != '.':
        continue
    s[i][j]=k
    if i==h-1 and j == w-1:
        break
    deq.append([i + 1, j, k + 1])
    deq.append([i - 1, j, k + 1])
    deq.append([i, j + 1, k + 1])
    deq.append([i, j - 1, k + 1])
if s[i][j] in '.#':
    print(-1)
else:
    black = sum([y.count('#') for y in s])
    print(h*w-black-s[h-1][w-1]-1)

### FIXED CODE ###

import collections
h,w = map(int,input().split())
s=[list(input()) for _ in range(h)]
deq = collections.deque([[0,0,0]])

while deq:
    i,j,k = deq.popleft()
    if not((i in range(h)) and (j in range(w))):
        continue
    if s[i][j] != '.':
        continue
    s[i][j]=k
    if i==h-1 and j == w-1:
        break
    deq.append([i + 1, j, k + 1])
    deq.append([i - 1, j, k + 1])
    deq.append([i, j + 1, k + 1])
    deq.append([i, j - 1, k + 1])
if s[h-1][w-1] == '#'or s[h-1][w-1] =='.':
    print(-1)
else:
    black = sum([y.count('#') for y in s])
    print(h*w-black-s[h-1][w-1]-1)
num = int(input())
res = num^3

print("{1}".format(res))


### FIXED CODE ###

num = int(input())

print("{0}".format(num**3))
a, b = map(int, input().split())
s = a + b
t = a - b
u = a * b
x = [s, t, u].sort()
print(x[-1])

### FIXED CODE ###

a, b = map(int, input().split())
s = a + b
t = a - b
u = a * b
x = sorted([s, t, u])
print(x[-1])
n,k = map(int,input().split())
S = list(input())
if(S[k-1]=="A"):
  S[k-1]="a"
elif(S[k-1]=="B"):
  S[k-1]="b"
else:
  S[K-1]="c"
for i in range(n):
  print(S[i],end='')

### FIXED CODE ###

n,k = map(int,input().split())
S = list(input())
if(S[k-1]=="A"):
  S[k-1]="a"
elif(S[k-1]=="B"):
  S[k-1]="b"
else:
  S[k-1]="c"
for i in range(n):
  print(S[i],end='')
a = int(input())
b = int(input())
c = a * b
print(c)

### FIXED CODE ###

a, b = map(int, input().split())
print(a * b)