Harryxun/stf_run huggingface dataset:
a, b, c = int(input().split())
x = a - b
y = c - x
print(y)

### FIXED CODE ###

a, b, c = input().split()
x = int(a) - int(b)
if int(c) <= x:
	print(0)
else:
	y = int(c) - x
	print(y)
import decimal,math
decimal.getcontext().prec = 100
def sum1(pre,l,r):
    l=max(l,0)
    if(l==0):
        return pre[r]
    return pre[r] - pre[l - 1]
abc=[]
def printDivisors(n) : 
    i = 1
    while i <= math.sqrt(n): 
          
        if (n % i == 0) : 
              
            if (n / i == i) : 
                abc.append(i) 
            else : 
                abc.append(i)
                abc.append(n/i)
        i = i + 1
n,k=map(int,raw_input().split())

arr=map(int,raw_input().split())
printDivisors(s)
abc.sort()
abc=abc[::-1]
ans=1
for i in abc:
    l=0
    flag=0
    c=[]
    for j in arr:
        c.append(j%i)
    c.sort()
    if(sum(c[:-sum(c)/i])<=k)
        print i
        exit()

### FIXED CODE ###

import decimal,math
decimal.getcontext().prec = 100
def sum1(pre,l,r):
    l=max(l,0)
    if(l==0):
        return pre[r]
    return pre[r] - pre[l - 1]
abc=[]
def printDivisors(n) : 
    i = 1
    while i <= math.sqrt(n): 
          
        if (n % i == 0) : 
              
            if (n / i == i) : 
                abc.append(i) 
            else : 
                abc.append(i)
                abc.append(n/i)
        i = i + 1
n,k=map(int,raw_input().split())

arr=map(int,raw_input().split())
s=sum(arr)
printDivisors(s)
abc.sort()
abc=abc[::-1]
ans=1
for i in abc:
    l=0
    flag=0
    c=[]
    for j in arr:
        c.append(j%i)
    c.sort()
    if(sum(c[:-sum(c)/i])<=k):
        print i
        exit()
s = input()
ans = 0
l = 0
for c in s:
  if c == 'A' || c == 'C' || c == 'G' || c == 'T':
    l += 1
  else:
    ans = max(ans, l)
    l = 0
ans = max(ans, l)
print(ans)


### FIXED CODE ###

s = input()
ans = 0
l = 0
for c in s:
  if c == 'A' or c == 'C' or c == 'G' or c == 'T':
    l += 1
  else:
    ans = max(ans, l)
    l = 0
ans = max(ans, l)
print(ans)
# -*- coding: utf-8 -*-

def main():
    N=int(input())  #数値入力 「N」だけの入力のとき
    H=list(map(int, input().split()))  #リスト入力 「a1 a2 a3 ...」みたいな配列のような入力のとき
    ans = 0
    a = 0
    for i in range(N):
        a = 0
        if ans > N-i-1:
            break
        else:
            for j in range(N-i):
                if i+j == N-1:
                    if a > ans:
                        ans = a
                    break
                elif H[i+j] >= H[i+j+1]:
                    a += 1
                else:
                    if a > ans:
                        ans = a
                    break
    print(ans)

if __name__ == '__main__':
    main()

### FIXED CODE ###

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

def main():
    s=input()  
    t=input()  
    a = 0
    for i in range(3):
        if s[i] == t[i]:
            a+=1
    print(a)

if __name__ == '__main__':
    main()
a,b=map(int,input().split())
if a%2== and b%2==0:
    print("Yes")
else:
    print("No")

### FIXED CODE ###

a,b=map(int,input().split())
if a%2!=0 and b%2!=0:
    print("Yes")
else:
    print("No")
from collections import deque
from collections import defaultdict
n = int(input())

graph = defaultdict(list)

for _ in range(n - 1):
    a, b = map(int, input().split())
    graph[a].append(b)
    graph[b].append(a)

max_c = max([len(x) for x in list(graph.values())])

colors = set(range(1, max_c + 1))


q = deque([1])
ans = [0] * (n + 1)
ans[1] = 1

while q:
    curr = q.popleft()
    can_use = colors - set([ans[curr]])
    for v in graph[curr]:
        if ans[v] == 0:
            ans[v] = min(can_use)
            can_use -= set([min(can_use)])
            q.append(v)

print(*ans[1:], sep="\n")

### FIXED CODE ###

from collections import deque
from collections import defaultdict

n = int(input())
graph = defaultdict(list)

for i in range(n - 1):
    a, b = map(int, input().split())
    graph[a].append([b, i])
    graph[b].append([a, i])

ans = [0] * (n - 1)

q = deque([[1, 0, 0]])
while q:
    v, pcol, root = q.popleft()
    cnt = 1
    for node in graph[v]:
        if node[0] == root:
            continue
        if cnt == pcol:
            cnt += 1
        ans[node[1]] = cnt
        q.append([node[0], cnt, v])
        cnt += 1

print(max(ans))
print(*ans, sep="\n")
import sys

n,m=input().split()
N = int(n)
M = int(m)
X = input().split()
#MはXの要素の数
X = [int(x) for x in X]

X.sort()
if M < 2:
    print(0)
    sys.exit()

minus = [X[i]-X[i-1] for i in range(1,M)]
#print(minus)

minus.sort()
#print(minus)
sum_num = 0
for i in range(N+1):
    sum_num += minus[i]
print(sum_num)

### FIXED CODE ###

import sys

n,m=input().split()
N = int(n)
M = int(m)
X = input().split()
#MはXの要素の数
X = [int(x) for x in X]

X.sort()
if M == 1:
    print(0)
    sys.exit()
elif M < 1:
    sys.exit()

minus = [X[i]-X[i-1] for i in range(1,M)]
#print(minus)

minus.sort()
#print(minus)
sum_num = 0
if N < M:
    for i in range(M-N):
        sum_num += minus[i]
    print(sum_num)
elif N >= M:
    print(0)
import math
def get_sieve_of_eratosthenes(n):
    prime = []
    limit = math.sqrt(n)
    data = [i + 1 for i in range(1, n)]
    while True:
        p = data[0]
        if limit <= p:
            return prime + data
        prime.append(p)
        data = [e for e in data if e % p != 0]

A,B = map(int,input().split())
d = max(A,B,A-B)

prime_list = get_sieve_of_eratosthenes(d)
ans = []
for p in prime_list:
    if A % p == 0 and B % p == 0:
        ans.append(p)
    while(A % p == 0):
        A = A // p
    while(B % p == 0):
        B = B // p
print(len(ans)+1)
 

### FIXED CODE ###

import fractions
def prime_factorize(n):
    a = []
    while n % 2 == 0:
        a.append(2)
        n //= 2
    f = 3
    while f * f <= n:
        if n % f == 0:
            a.append(f)
            n //= f
        else:
            f += 2
    if n != 1:
        a.append(n)
    return a

A,B = map(int,input().split())
GCD = fractions.gcd(A,B)
pf = prime_factorize(GCD)
print(len(set(pf))+1)
import sys
sys.setrecursionlimit(900000000)
def knap(n,w,weight,value,dp):
  #  print(n,":",w,":",len(dp),":",len(dp[n]))
    if dp[n][w]!=-1:
        return dp[n][w]
    if n==0:
        dp[n][w]=0
        return 0
    if w==0:
        dp[n][w]=0
        return 0
    if w-weight[n]<0:
        tmp2=knap(n-1,w,weight,value,dp)
        dp[n][w]=tmp2
        return tmp2
    tmp1=knap(n-1,w-weight[n],weight,value,dp)+value[n]
    tmp2=knap(n-1,w,weight,value,dp)
    if tmp1>=tmp2:
        dp[n][w]=tmp1
        return tmp1
    else:
        dp[n][w]=tmp2
        return tmp2
        

n,W=map(int,input().split())
weight=[0]
value=[0]
for i in range(n):
    a,b=map(int,input().split())
    weight.append(a)
    value.append(b)
dp=[[-1]*(W+1)]*(n+1)
print(knap(n,W,weight,value,dp))

### FIXED CODE ###

N,W=map(int,input().split())
w=[]
v=[]
maxV=0
for i in range(N):
    a,b=map(int,input().split())
    if maxV<b:
        maxV=b
    w.append(a)
    v.append(b)
#dp[n個目のアイテムまでで][V以上を達成する]=最小のw
#dp[0][v]=inf ゼロ個でｖは無理なので
#dp[0][0]=0と初期化する
#だからiの時dp[i][v]=min(dp[i-1][v],dp[i-1][V-v[i-1]]+w[i])である<-i-1なのはvとかにはゼロ個とかないので
#V-v[i]<0ならば、とれないので前者になるね！！
#これをi=0(は初期化でする)->nまでおこない、各iについてはとりうる最大のValueを考えるが
#これは最大で各アイテムについて最大のVがあってこれにアイテム数Nを掛けたものである
#つまりdpのサイズはdp[0->N][0->maxV*N]をとればよい

dp=[[float("inf") for i in range(maxV*(N+1))] for j in range(N+1)]
dp[0][0]=0

for i in range(1,N+1):
    for val in range(maxV*N+1):
        tmp1=dp[i-1][val]#とらない
        if val-v[i-1]<0:#この時、iこめの価値がおおきいので、これをとるだけで達成してしまう
            tmp2=w[i-1]#i=1の時、dp[0][val]=inf
        else:#i=1の時val-v[0]>0で無限になるので
            tmp2=dp[i-1][val-v[i-1]]+w[i-1]#
        res=min(tmp1,tmp2)
        dp[i][val]=res
#ここでW以下となるvalの最大値をたんさくする
max=0
for value in range(len(dp[N])):
    if dp[N][value]<=W:
        if value>max:
            max=value
print(max)
N = int(input())
ans = 0
for i in range(1, N + 1):
    if len(str(i)) % 2 is 1:
      ans += 1
      
print(ans)

### FIXED CODE ###

A, B, C = map(int, input().split())

D = C - (A-B)
if D < 0:
  print(0)
else:
  print(D)
N = int(input())

print(sum(range(N))


### FIXED CODE ###

N = int(input())

if N == 0:
    print(1)
else:
    print(int(N * (N - 1) // 2))
a,b,c,d = map(int,input().split())
l = list(range(int(a),int(b)+1,))
ans = 0
for i in range(len(l)):
  if l[i] % c != 0 and l[i] % d != 0:
    ans += 1
print(ans)


### FIXED CODE ###

A,B,C,D = map(int,input().split())

def gcd(a,b):
  while b:
    a,b = b,a%b
  return a

def F(N,C,D):
  x = N
  x -= N//C
  x -= N//D
  lcm = C*D//gcd(C,D)
  x += N//lcm
  return x

answer = F(B,C,D) - F(A-1,C,D)
print(answer)
N = int(input())
L = [int(input()) for i in range(N)]

r = 200*100

for i in range(-100,101):
  res = 0
  for j in range(N):
    res += (L[j] - i) ** 2
  r = min(r, res)
print(r)

### FIXED CODE ###

N = int(input())
L = list(map(int, input().split()))

r = (200 ** 2)*100

for i in range(-100,101):
  res = 0
  for j in range(N):
    res += (L[j] - i) ** 2
  r = min(r, res)
print(r)
a,b = map(int,input())
print('Even' if (a * b) % 2 == 0 else  'Odd')

### FIXED CODE ###

a,b = map(int,input().split())
print('Even' if (a * b) % 2 == 0 else  'Odd')
N = int(input())
S = input()
count = 0
for i in range(N):
    if S[i] == "A" and S[i + 1] == "B" and S[i + 2] == "C":
        count += 1
print(count)


### FIXED CODE ###

N = int(input())
S = input()
count = 0
for i in range(N):
    try:
        if S[i] == "A" and S[i + 1] == "B" and S[i + 2] == "C":
            count += 1
    except IndexError:
        break
print(count)
k,n = map(int,input(),split())
a = list(map(int,input().split()))
tm = a[0]
a.append(tm)
m = -9878789894545656
 
for i in range(n):
  m = max(m,a[i+1]-a[i])
  
print(k-m)

### FIXED CODE ###

k,n = map(int,input().split())
a = list(map(int,input().split()))
tm = a[0]
a.append(tm)
m = -9878789894545656
 
for i in range(n-1):
  m = max(m,a[i+1]-a[i])
  
m = max(m,a[0]+k-a[n-1])
  
print(k-m)
A=input()
if A[0]==A[1] and A[1]==A[2]:
    print("Yes")
elif if A[1]==A[2] and A[2]==A[3]:
    print("Yes")
else:
    print("No")

### FIXED CODE ###

A=input()
if A[0]==A[1] and A[1]==A[2]:
    print("Yes")
elif A[1]==A[2] and A[2]==A[3]:
    print("Yes")
else:
    print("No")
from math import sqrt
while 1:
	n = int(raw_input())
	if n == 0:
		break
	ub = int(sqrt(n))
	square = [i**2 for i in range(1,ub+1)]
	square_sum =[[0 for i in range(n)] for j in range(2)]
	count = 0
	for k in range(1,ub+1):
		for i in range(1,k+1):
			if square[k-1] + square[i-1] <= n: 
				square_sum[0][square[k-1] + square[i-1]-1] += 1
		for i in range(1, n + 1 - square[k-1]):
			if square_sum[0][i-1] >= 1:
				square_sum[1][i-1+square[k-1]] += square_sum[0][i-1]
		count += square_sum[1][n-1-square[k-1]]
	print (1 if n == ub**2 else 0) + square_sum[0][n-1] + square_sum[1][n-1] + count

### FIXED CODE ###

from math import sqrt
MAX = 2**15-1
ub = int(sqrt(MAX))
square_sum = [[0 for i in range(MAX)] for j in range(4)]
for k in range(1,ub+1):
	square_k = k**2
	square_sum[0][square_k-1] = 1 
	for j in range(3):
		for i in range(1,MAX - square_k + 1):
			if square_sum[j][i-1] >= 1:
				square_sum[j+1][i-1+square_k] += square_sum[j][i-1]
while 1:
	n = int(raw_input())
	if n == 0:
		break
	print sum(square_sum[i][n-1] for i in range(4))
a,b,c=list(int,input().split())
if  (a+b)>=c:
    print("Yes")
else:
    print("No")

### FIXED CODE ###

a,b,c=map(int,input().split())
if  (a+b)>=c:
    print("Yes")
else:
    print("No")
n=int(input())
A=[0]*(n+1)
for i in list(map(int, input().split())):
  A[i] += 1
cnt=0
ans=0
for j in reversed(range(n)):
  if A[j]>=2 and cnt==0:
    ans=j
    cnt+=1
  elif A[j]>= 2 and cnt==1:
    ans*=j
    break
print(ans)

### FIXED CODE ###

c={}
input()
for i in list(map(int,input().split())):
    if i in c:
        c[i]+=1
    else:
        c[i]=1
d=[i for i in c.items() if i[1]>1]
c=sorted(d)
if len(d)==0 or (len(d)==1 and c[-1][1]<4):
    print(0)
else:
    if c[-1][1]>3:
        print(c[-1][0]**2)
    else:
        print(c[-1][0]*c[-2][0])
n, k = (int(x) for x in input().split())
p = list(int(x) for x in input().split())

max_val = 0
for i in range(0, len(p)-k+1):
  tmp = p[i:i+k]
  val = sum([sum([x for x in range(1, t+1)]) / t for t in tmp])

  if max_val < val:
    max_val = val

print('{:.12f}'.format(val))

### FIXED CODE ###

s, t = input().split()
a, b = (int(x) for x in input().split())
u = input()

if s == u:
  a -= 1
else:
  b -= 1

print('{} {}'.format(a, b))
s = input()
t = input()
letters_s = []
letters_t = []
for i in range(len(s)):
  letters_s.append(s[i])
letters_s.sort()
for i in range(len(t)):
  letters_t.append(len(t))
letters_t.sort(reverse=True)
ss = "".join(letters_s)
tt = "".join(letters_t)
if ss < tt:
  print("Yes")
else:
  print("No")

### FIXED CODE ###

s = input()
t = input()
letters_s = []
letters_t = []
for i in range(len(s)):
  letters_s.append(s[i])
letters_s.sort()
for i in range(len(t)):
  letters_t.append(t[i])
letters_t.sort(reverse=True)
ss = "".join(letters_s)
tt = "".join(letters_t)
if ss < tt:
  print("Yes")
else:
  print("No")
N=int(input()) 
clist=[-1]
mod=10**9+7
for i in range(N):
  t=int(input())
  if t==clist[-1]:
    continue
  clist.append(t)
  
colorlast=[-1]*(3*10**5)
poslp=[-1]*(N+2)

for e,c in enumerate(clist,1):
  if colorlast[c]!=-1:
    poslp[e]=colorlast[c]
    colorlast[c]=e
  else:
    colorlast[c]=e

dp=[0]*(N+1)
dp[0]=1
for e,c in enumerate(clist,1):
  if poslp[e]!=-1:
    dp[e]=(dp[e-1])%mod
  else:
    dp[e]=(dp[e-1]+dp[poslp[e]])%mod
print(dp[len(clist)]%mod)
    


### FIXED CODE ###

N=int(input()) 
clist=[-1]
mod=10**9+7

for i in range(N):
  t=int(input())
  if t==clist[-1]:
    continue
  clist.append(t)

del clist[0]
N = len(clist)

# print(clist)
colorlast=[-1]*(3*10**5)
poslp=[-1]*(N+1)

for e,c in enumerate(clist,1):
  if  colorlast[c]  !=  -1:
    poslp[e]=colorlast[c]
    colorlast[c]=e
  else:
    colorlast[c]=e


dp=[0]*(N+100)
dp[0]=1

for e,c in enumerate(clist,1):
  if poslp[e]==-1:
    dp[e]=(dp[e-1])%mod
  else:
    dp[e]=(dp[e-1]+dp[poslp[e]])%mod

# print(dp[:len(clist)+1])
print(dp[len(clist)]%mod)
r,c = map(int, input().split())
for i in range(r):
    a = list(map(int, input().split()))
    sum = 0
    for j in range(c):
        sum += a[j]
    a.append(sum)
    for k in range(c+1):
        print(a[k], end = "")
        if k != c:
            print(" ", end = "")
    print()
 
        


### FIXED CODE ###

r,c = map(int, input().split())
matrix = []
for i in range(r):
    a = list(map(int, input().split()))
    sum = 0
    for j in range(c):
        sum += a[j]
    a.append(sum)
    matrix.append(a)
    for k in range(c+1):
        print(a[k], end = "")
        if k != c:
            print(" ", end = "")
    print()
for l in range(c+1):
    sum2 = 0
    for m in range(r):
        sum2 += matrix[m][l]
    print(sum2, end = "")
    if l != c:
        print(" ", end = "")
print()
s = input()
cnt = 0
strings = ""
for i in s:
    if cnt % 2 == 0:
        strings.= strings + i
print(strings)

### FIXED CODE ###

s = input()
cnt = 0
strings = ""
for i in s:
    if cnt % 2 == 0:
        strings = strings + i
    cnt += 1
print(strings)
from math import inf
n = int(input())
arr = list(map(int, input().split()))
cnt = [[0,0] for x in range(n-1)]
for i in range(1,n):
    if i == 1:
        cnt[i-1][0] = abs(arr[i-1]-arr[i])
        cnt[i-1][1] = inf
    else:
        cnt[i-1][0] = abs(arr[i-1]-arr[i])
        cnt[i-1][1] = abs(arr[i-2]-arr[i])
for i in range(1,n-1):
    cnt[i][0] += min(cnt[i-1])
    if i != 1:
        cnt[i][1] += min(cnt[i-2])
print(min(cnt[-1]))


### FIXED CODE ###

n = int(input())
arr = list(map(int, input().split()))
cnt = [[0,0] for x in range(n-1)]
for i in range(1,n):
	if i == 1:
		cnt[i-1][0] = abs(arr[i-1]-arr[i])
		cnt[i-1][1] = 100000
	else:
		cnt[i-1][0] = abs(arr[i-1]-arr[i])
		cnt[i-1][1] = abs(arr[i-2]-arr[i])
for i in range(1,n-1):
	cnt[i][0] += min(cnt[i-1])
	if i != 1:
		cnt[i][1] += min(cnt[i-2])
print(min(cnt[-1]))
def solve(n,k) :
    if n <= 9 and k == 1 :
        return n
    elif n <= 9 and k >= 2 :
        return 0
    else :
        m = n //10
        r = n % 10
        return  r * solve(m,k-1) + (9 - r) * solve(m-1,k-1) + solve(m,k)

n = int(input())
k = int(input())
print(solve(n,k))


### FIXED CODE ###

def solve(n,k) :
    if n <= 9 and k == 1 :
        return n
    elif n <= 9 and k >= 2 :
        return 0
    elif k == 0:
        return 1
    else :
        m = n //10
        r = n % 10
        return  r * solve(m,k-1) + (9 - r) * solve(m-1,k-1) + solve(m,k)

n = int(input())
k = int(input())
print(solve(n,k))
def eee(s,k):
    a = s[k]
    for i in range(len(s)):
        if s[i]!=a:
            s[i] = '*'            
    return ''.join(s)

n = int(input())
s = list(input())
k = int(input())
print(eee(s,k))

### FIXED CODE ###

def eee(s,k):
    a = s[k-1]
    k = list(filter(lambda x:x!=a,s))
    z = ''.join(s)
    for i in k:
        z = z.replace(i,'*')
    return z

n = int(input())
s = list(input())
k = int(input())
print(eee(s,k))
nums = [x for x in input().split()]
a,b = int(nums[0]), float(nums[1])198 1.10

print(int(a*b))

### FIXED CODE ###

nums = [x for x in input().split()]
a,b = int(nums[0]), float(nums[1])
b = round(b*100)
res = (a*b) // 100
print(res)
N, M = list(map(int, input().split()))

p = {}
flag=True
for _ in range(M):
    s,c = list(map(int, input().split()))
    if s in p and p[s]!=c:
        flag=False
    p[s] = c

if flag and p[1]!=0:
    ans = ''
    for i in range(1, N+1):
        if i in p:
            ans+=str(p[i])
        else:
            ans+='0'
    print(int(ans))
else:
    print(-1)

### FIXED CODE ###

N, M = list(map(int, input().split()))

p = {}
flag=True
for _ in range(M):
    s,c = list(map(int, input().split()))
    if s in p and p[s]!=c:
        flag=False
    p[s] = c

if 1 in p:
    if N!=1 and p[1]==0:
        flag=False
        
if flag:
    ans = ''
    for i in range(1, N+1):
        if i in p:
            ans+=str(p[i])
        elif N!=1 and i==1:
            ans+='1'
        else:
            ans+='0'
    print(int(ans))
else:
    print(-1)
n, m = map(int(input().split()))
print((n - 1) * (m - 1))

### FIXED CODE ###

n, m = map(int,input().split())
print((n - 1) * (m - 1))
S=input()

if  S='Sunny':
  print('Cloudy')
elif  S='Cloudy':
  print('Rainy')
elif  S='Rainy'
  print('Sunny')

### FIXED CODE ###

S=input()

if  S == 'Sunny':
    print('Cloudy')
elif  S == 'Cloudy':
    print('Rainy')
elif  S == 'Rainy':
    print('Sunny')
import sys
# gcd
from fractions import gcd
# 切り上げ，切り捨て
# from math import ceil, floor
# リストの真のコピー（変更が伝播しない）
# from copy import deepcopy
# 累積和。list(accumulate(A))としてAの累積和
from itertools import accumulate
# l = ['a', 'b', 'b', 'c', 'b', 'a', 'c', 'c', 'b', 'c', 'b', 'a']
# S = Counter(l)  # カウンタークラスが作られる。S=Counter({'b': 5, 'c': 4, 'a': 3})
# print(S.most_common(2))  # [('b', 5), ('c', 4)]
# print(S.keys())  # dict_keys(['a', 'b', 'c'])
# print(S.values())  # dict_values([3, 5, 4])
# print(S.items())  # dict_items([('a', 3), ('b', 5), ('c', 4)])
# from collections import Counter
# import math
# from functools import reduce
#
# input関係の定義
input = sys.stdin.readline
def ii(): return int(input())
def mi(): return map(int, input().rstrip().split())
def lmi(): return list(map(int, input().rstrip().split()))
def li(): return list(input().rstrip())
# template


N, K = mi()
a = lmi()
a.insert(0, -12)
dp = [False] * (K + 1)

for i in range(1, K + 1):
    for j in a:
        if i >= j and not dp[i - j]:
            dp[i] = True

if dp[K]:
    print("First")
else:
    print("Second")


### FIXED CODE ###

import sys
# gcd
# from fractions import gcd
# 切り上げ，切り捨て
# from math import ceil, floor
# リストの真のコピー（変更が伝播しない）
# from copy import deepcopy
# 累積和。list(accumulate(A))としてAの累積和
# from itertools import accumulate
# l = ['a', 'b', 'b', 'c', 'b', 'a', 'c', 'c', 'b', 'c', 'b', 'a']
# S = Counter(l)  # カウンタークラスが作られる。S=Counter({'b': 5, 'c': 4, 'a': 3})
# print(S.most_common(2))  # [('b', 5), ('c', 4)]
# print(S.keys())  # dict_keys(['a', 'b', 'c'])
# print(S.values())  # dict_values([3, 5, 4])
# print(S.items())  # dict_items([('a', 3), ('b', 5), ('c', 4)])
# from collections import Counter
# import math
# from functools import reduce
#
# input関係の定義
input = sys.stdin.readline
def ii(): return int(input())
def mi(): return map(int, input().rstrip().split())
def lmi(): return list(map(int, input().rstrip().split()))
def li(): return list(input().rstrip())
# template


N, K = mi()
a = lmi()
dp = [False] * (K + 1)

for i in range(1, K + 1):
    for j in a:
        if i >= j and not dp[i - j]:
            dp[i] = True

if dp[K]:
    print("First")
else:
    print("Second")
# 数値と符号の取得
A,op,B = map(str,input().split())

# 計算して出力
calc = eval(A & op & B)
print(calc)

### FIXED CODE ###

# 数値と符号の取得
A,op,B = map(str,input().split())

# 計算して出力
calc = eval(A + op + B)
print(int(calc))
def nibutan2(array,value,left,right,first = True):
    if first:
        if array[left]>value:
            return 0
        elif array[right]<value:
            return len(array)
    if right-left<=1:
        return right
    else:
        i=(left+right)//2
        if array[i]>value:
            return nibutan2(array,value,left,i,False)
        elif array[i]<value:
            return nibutan2(array,value,i,right,False)


N=int(input())
A=[]
B=[]
for i in range(N):
    if i%2==0:
        A.append(int(input()))
    else:
        B.append(int(input()))

A.sort()
B.sort()

count=0

for i in range(len(A)):
    c=nibutan2(B,A[i],0,len(B)-1)
    count+=abs(c-i)

print(count)

### FIXED CODE ###

N=int(input())
A=[]
for i in range(N):
    A.append(int(input()))

B=sorted(A)

C=[]
D=[]

for i in range(N):
    if i%2==0:
        C.append(A[i])
        D.append(B[i])
        
print((N+1)//2-len(set(C) & set(D)))
N = input()

M = int(len(N))//2
flag = True

for i in range(M+1):
  if N[i*2] == "R":
    flag = False
  elif N[i*2+1] == "L":
    flag = False
if flag == True:
  print('No')
else:
  print('Yes')

### FIXED CODE ###

N = input()

M = int(len(N))
flag = True

for i in range(M):
  if i % 2 == 0:
    if N[i] == "L":
      flag = False
  else:
    if N[i] == "R":
      flag = False
if flag == False:
  print('No')
else:
  print('Yes')
N,Q = map(int,input().split())
ablist = [[] for _ in range(N)]
anslist = [0]*(N)

for i in range(N-1):
    a,b = map(int,input().split())
    ablist[a-1].append(b-1)
    ablist[b-1].append(a-1)

pxlist = [list(map(int,input().split())) for _ in range(Q)]

for q,x in pxlist:
    anslist[q-1] += x

def dfs(nownode,oya=-1):
    for nextnode in ablist[nownode]:
        if oya == nextnode:
            continue
        anslist[nextnode] += anslist[nownode]
        dfs(nextnode,nownode)
dfs(0,-1)
print(*anslist)

### FIXED CODE ###

import sys
input = sys.stdin.readline
sys.setrecursionlimit(10 ** 7)
 

N, Q = map(int, input().split())

T = [[]for i in range(N)]

for i in range(N-1):
    a, b = map(int, input().split())
    T[a-1].append(b-1)
    T[b-1].append(a-1)

X = [0 for i in range(N)]
for i in range(Q):
    p, x = map(int, input().split())
    X[p-1] += x

# def dfs(x, p):
#     for j in T[x]:
#         if j == p:
#             continue
#         X[j] += X[x]
#         dfs(j, x)
def dfs(nownode,oya=-1):
    for nextnode in T[nownode]:
        if oya == nextnode:
            continue
        X[nextnode] += X[nownode]
        dfs(nextnode,nownode)

dfs(0, -1)

print(*X)
a,b,c,d=list(map(int,input().split()))
p=list(range(a,b+1))
q=list(filter(lambda x:x%c!=0 and x%d!=0,p))
print(len(q))

### FIXED CODE ###

import fractions
a,b,c,d=list(map(int,input().split()))
a-=1
lcm=int((c*d)/fractions.gcd(c,d))
print((b-b//c-b//d+b//lcm)-(a-a//c-a//d+a//lcm))