Harryxun/stf_run huggingface dataset:
N,S = MI()
A = LI()
dp = FILL2(0,N+1,S+1)
for i in range(N):
    for j in range(S+1):
        if j>0 and j+A[i]<=S:
            dp[i+1][j+A[i]] += dp[i][j]
        elif j==0 and A[i]<=S:
            dp[i+1][A[i]] += i+1
        dp[i+1][j] += dp[i][j]
#        dp[i+1][j] %= MOD
ans = 0
for i in range(N+1):
    ans += dp[i][S]
    ans %= MOD
print(ans)


### FIXED CODE ###

import sys
import math
from decimal import Decimal, ROUND_HALF_UP, ROUND_HALF_EVEN
from collections import deque
from bisect import bisect_left
from itertools import product
def I(): return int(sys.stdin.readline())
def MI(): return map(int, sys.stdin.readline().split())
def LI(): return list(map(int, sys.stdin.readline().split()))
def LI2(N): return [list(map(int, sys.stdin.readline().split())) for i in range(N)]
def LSI(): return list(map(int, list(sys.stdin.readline().rstrip())))
def LSI2(N): return [list(map(int, list(sys.stdin.readline().rstrip()))) for i in range(N)]
def S(): return sys.stdin.readline().rstrip()
def LS(): return sys.stdin.readline().split()
def LS2(N): return [sys.stdin.readline().split() for i in range(N)]
def FILL(i,h): return [i for j in range(h)]
def FILL2(i,h,w): return [FILL(i,w) for j in range(h)]
def FILL3(i,h,w,d): return [FILL2(i,w,d) for j in range(h)]
def FILL4(i,h,w,d,d2): return [FILL3(i,w,d,d2) for j in range(h)]
def sisha(num,digit): return Decimal(str(num)).quantize(Decimal(digit),rounding=ROUND_HALF_UP)
#'0.01'や'1E1'などで指定、整数に戻すならintをかます
MOD = 998244353
INF = float("inf")
sys.setrecursionlimit(10**6+10)
input = sys.stdin.readline

N,S = MI()
A = LI()
dp = FILL2(0,N+1,S+1)
for i in range(N):
    for j in range(S+1):
        if j>0 and j+A[i]<=S:
            dp[i+1][j+A[i]] += dp[i][j]
            dp[i+1][j+A[i]] %= MOD
        elif j==0 and A[i]<=S:
            dp[i+1][A[i]] += i+1
            dp[i+1][A[i]] %= MOD
        dp[i+1][j] += dp[i][j]
        dp[i+1][j] %= MOD
ans = 0
for i in range(N+1):
    ans += dp[i][S]
    ans %= MOD
print(ans)
N = int(input())
A = int(input())
B = int(input())

N *= A

if (N) < B:
    print(N)
else:
    print(B)

### FIXED CODE ###

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

N *= A

if (N) < B:
    print(N)
else:
    print(B)
n, m = map(int, input().split())


root = list(range(n + 1))


from collections import Counter
d = Counter()



def find(i):
    if i == root[i]:
        return i
    root[i] = find(root[i])
    return root[i]

def union(u, v):
    fu, fv = find(u), find(v)
    if fu == fv:
        return
    root[max(u, v)] = min(fu, fv)
    # root[u] = fv
    d[min(fu, fv)] += 1



for i in range(m):
    u, v = map(int, input().split())
    union(u, v)



# print(d)
print(max(d.values()) + 1)



### FIXED CODE ###

n, m = map(int, input().split())


root = list(range(n + 1))


# from collections import defaultdict
# d = defaultdict(set)
cnt = [1] * (n + 1)


def find(i):
    if i == root[i]:
        return i
    root[i] = find(root[i])
    return root[i]

def union(u, v):
    fu, fv = find(u), find(v)
    if fu == fv:
        return
    cnt[min(fu, fv)] += cnt[max(fu, fv)]
    root[max(fu, fv)] = min(fu, fv)



for i in range(m):
    u, v = map(int, input().split())
    union(u, v)



# print(d)
print(max(cnt))
a,b = map(int,input().split())
N = a+b
if N % 2 = 0:
    print(N//2)
else:
    print((N+1)//2)


### FIXED CODE ###

a,b = map(int,input().split())
N = a+b
if N % 2 == 0:
    print(N//2)
else:
    print((N+1)//2)
from collections import deque
n,m=map(int,input().split())
g=[[] for i in range(1+n)]
v=[0]*(1+n)
for i in range(m):
    if i==1:
        q=[a,b]
        v[a]=v[b]=1
    a,b=map(int,input().split())
    g[a].append(b)
    g[b].append(a)

p=[q[-1]]
path=[]
while p:
    cur=p.pop()
    path.append(cur)
    v[cur]=1
    flg=True
    for i in g[cur]:
        if v[i]==0:
            p.append(i)
            flg=False
    if flg:
        break
ans=path

p=[q[0]]
path=[]
while p:
    cur=p.pop()
    path.append(cur)
    v[cur]=1
    flg=True
    for i in g[cur]:
        if v[i]==0:
            p.append(i)
            flg=False
    if flg:
        break
ans=path[::-1]+ans
print(len(ans))
print(*ans)

### FIXED CODE ###

from collections import deque
n,m=map(int,input().split())
g=[[] for i in range(1+n)]
v=[0]*(1+n)
for i in range(m):
    a,b=map(int,input().split())
    g[a].append(b)
    g[b].append(a)
    if i==0:
        q=[a,b]
        v[a]=v[b]=1

p=[q[-1]]
path=[]
while p:
    cur=p.pop()
    path.append(cur)
    v[cur]=1
    flg=True
    for i in g[cur]:
        if v[i]==0:
            p.append(i)
            flg=False
    if flg:
        break
ans=path

p=[q[0]]
path=[]
while p:
    cur=p.pop()
    path.append(cur)
    v[cur]=1
    flg=True
    for i in g[cur]:
        if v[i]==0:
            p.append(i)
            flg=False
    if flg:
        break
ans=path[::-1]+ans
print(len(ans))
print(*ans)
a=input()
if a=='AAA'or'BBB':
  print(No)
else:
  print(Yes)

### FIXED CODE ###

a=input()
if a=='AAA'or a=='BBB':
  print('No')
else:
  print('Yes')
import sys

read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines

import numpy as np

data = np.fromstring(read(), np.int64, sep=' ')

N, K = data[:2]
P = np.hstack([[0], data[2:] + 1])

Pcum = P.custom()
x = Pcum[K:] - Pcum[0:-K]
print(x.max()/2)

### FIXED CODE ###

N, K = map(int, input().split())
P = list(map(int, input().split()))
lst = [0]
for x in P:
  lst.append(lst[-1] + (x+1)/2)

res = -1
for i in range(N-K+1):
  sum = lst[i+K]-lst[i]
  res = max(res, sum)

print("{:.6f}".format(res))
n = int(input())
a = [int(x) for x in input().split()]
for i in range(1,n+1):
  print(a.count[i])

### FIXED CODE ###

N = int(input())
K = [0]*N
A = [int(i) for i in input().split()]

for i in range(N-1):
    K[A[i]-1] += 1
for i in K:
    print(i)
from math import *
import numpy as np
input()
P1 = []
P2 = []
P3 = []
for a, b in zip(map(int, input().split()), map(int, input().split())):
    t = abs(a - b)
    P1.append(t)
    P2.append(t ** 2)
    P3.append(t ** 3)
print("{:f}".format(sum(P1)))
print(sqrt(sum(P2)))
print(np.cbrt(sum(P3)))
print("{:f}".format(max(P1)))



### FIXED CODE ###

input()
P1 = []
P2 = []
P3 = []
for a, b in zip(map(int, input().split()), map(int, input().split())):
    t = abs(a - b)
    P1.append(t)
    P2.append(t ** 2)
    P3.append(t ** 3)
print("{:f}".format(sum(P1)))
print(sum(P2) ** (1 / 2))
print(sum(P3) ** (1 / 3))
print("{:f}".format(max(P1)))
class P:
    def __init__(self, c):
        self.c = c
        self.reached = False
        self.searched = False
        self.checked = False

from collections import deque
H, W = [int(i) for i in input().split()]
Ch, Cw = [int(i)-1 for i in input().split()]
Dh, Dw = [int(i)-1 for i in input().split()]
S = [[None for _ in range(H)] for _ in range(W)]
for y in range(H):
    tmp = input()
    for x in range(W):
        S[x][y] = P(tmp[x])

def neighbors(x, y, d):
    for i in range(max(0, x-1), min(W, x+2)):
        if S[i][y].reached == False and S[i][y].c == '.':
            d.append((i, y))
    for i in range(max(0, y-1), min(H, y+2)):
        if S[x][i].reached == False and S[x][i].c == '.':
            d.append((x, i))

def jump(x, y, d):
    S[x][y].checked = True
    for i in range(max(0, x-2), min(W, x+3)):
        for j in range(max(0, y-2), min(H, y+3)):
            if  S[i][j].c == '.' and S[i][j].searched == False and S[i][j].reached == False:
                d.append((i, j))
            S[i][j].searched = True


def BFS(x, y):
    d = deque([(x, y)])
    route = deque([])
    while True:
        x, y = d.popleft()
        route.append((x, y))
        S[x][y].reached = True
        neighbors(x, y, d)
        if len(d) == 0:
            break
    return route


counter = 0
if Cw == Dw and Ch == Dh:
    print(0)
    exit()
q = deque([(Cw, Ch)])
flag = False
while True:
    array = []
    while len(q) > 0:
        x, y = q.popleft()
        if S[x][y].reached:
            pass
        else:
            array.append(BFS(x, y))
    if S[Dw][Dh].reached == True:
        break
    counter += 1
    for each in array:
        while len(each) > 0:
            i, j = each.pop()
            if S[i][j].reached and S[i][j].checked == False:
                jump(i, j, q)
                BFS(i, j)
    if len(q) == 0:
        flag = True
        break
if flag:
    print(-1)
else:
    print(counter)
    

### FIXED CODE ###

N, X, T = [int(i) for i in input().split()]
tmp = N // X
if N%X > 0:
    tmp += 1
print(tmp * T)
N = input()
a = [input() for i in range(N)]
print(min(a[0], a[1])+min(a[2], a[3]))

### FIXED CODE ###

a = [int(input()) for i in range(4)]
print(min(a[0], a[1])+min(a[2], a[3]))
s=input().split(" ")
a,b,c,d=int(s[0]),int(s[1]),int(s[2]),int(s[3])
if ((min(a,b)>=c and min(a,b)<=d) or (max(a,b)>=c and max(a,b)<=d)) and ((min(c,d)>=a and min(c,d)<=b) or (max(c,d)>=a and max(c,d)<=b)):
    print("Yes")
else:
    print("No")

### FIXED CODE ###

n=int(input())
print("ACL"*n)
from collections import Counter
s=input()
c=Counter(s)
flag=0
for i in range(len(c.value)):
  if c.value[i]%2==1:
    flag=1
    break
if flag==0:
  print("Yes")
else:
  print("No")

### FIXED CODE ###

from collections import Counter
s=input()
c=Counter(s)
flag=0
a=list(c.values())
for i in range(len(a)):
  if a[i]%2==1:
    flag=1
    break
if flag==0:
  print("Yes")
else:
  print("No")
s=str(input())
S=int()
G=int()

#Sに最初のAのインデックスを取得
for i in range(len(s)):
  if s[i]=='A':
    S=s.index(s[i])
    break
    
ss=s[::-1]

#Gに最後のZのインデックスを取得
for j in range(len(ss)):
  if ss[j]=='Z':
    G=len(ss)-j-1
    break
print(G-S+1

### FIXED CODE ###

s=str(input())
S=int()
G=int()

#Sに最初のAのインデックスを取得
for i in range(len(s)):
  if s[i]=='A':
    S=s.index(s[i])
    break
    
ss=s[::-1]

#Gに最後のZのインデックスを取得
for j in range(len(ss)):
  if ss[j]=='Z':
    G=len(ss)-j-1
    break
print(G-S+1)
n=input()
if n%10==9 or n//10==9:
    print("Yes")
else:
    print("No")


### FIXED CODE ###

n=int(input())
if n%10==9 or n//10==9:
    print("Yes")
else:
    print("No")
A,B = map(int,input())
If A * 500 >= B:
  print("Yes")
else:
  print("No")
  

### FIXED CODE ###

A,B = map(int,input().split())
if A * 500 >= B:
  print("Yes")
else:
  print("No")
a, b = input().split()
a = int(a)
b = int(b*100)

print(int(a*b/100))


### FIXED CODE ###

from decimal import Decimal

a, b = input().split()

a = Decimal(a)
b = Decimal(b)

print(int(a*b))
n = int(input())
lst = list(map(int, input().split()))
mult = 1

for i in lst:
    mult *= i
    if mult > 10 ** 18:
        print(-1)
        exit()

print(mult)

### FIXED CODE ###

a, b = map(int, input().split())
print(a * b)
(a, b, c) = [int(i) for i in input()].split()]

count = 0

for i in range(a, b + 1):
    if c % 1 ==0:
        count += 1
print(count)

### FIXED CODE ###

a, b, c = [int(i) for i in input().split()]
 
total = 0
for d in range(a, b + 1):
    if c % d == 0:
        total += 1
 
print(total)
n, y = map(int, input().split())
y = y/1000
counter = []

for rep1 in range(n + 1):
    for rep2 in range(n + 1):
        for rep3 in range(n + 1):
            if rep1 + rep2 + rep3 == n and rep1 * 10 + rep2 * 5 + rep3 == y:
                counter = ([rep1, rep2, rep3])
                break

print(counter) if counter != [] else print("-1 -1 -1")

### FIXED CODE ###

print(input().replace("2017", "2018"))
import numpy as np
n = int(input())
a = list(int(x) for x in input().split())

x = 0
for i in range(n):
  b= a[0]
    if (b in np.delete(a, 0)) is True:
        print("NO")
        x = 1
        break

if x == 0:
    print("YES")


### FIXED CODE ###

n = int(input())
a = list(int(x) for x in input().split())
x = 0
 
a.sort()
for i in range(n-1):
    if a[-1] - a[-2] == 0:
        print("NO")
        x = 1
        break
    a.pop()
 
if x == 0:
    print("YES")
H,A=input().split()
print(int(H)//int(A)+1 if 1<=H<=10000 and 1<=A<=10000)

### FIXED CODE ###

H,A=map(int,input().split())
if 1<=H<=10000 and 1<=A<=10000:
    print(H//A+1 if H%A!=0 else int(H/A))
if a == 1: a += 13
if b == 1: b += 13

if a > b:
    print('Alice')
elif a < b:
    print('Bob')
else:
    print('Draw')

### FIXED CODE ###

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

if a == 1: 
    a += 13
if b == 1: 
    b += 13

if a > b:
    print('Alice')
elif a < b:
    print('Bob')
else:
    print('Draw')
n,m=map(int,input().split())
lm,mr=0,n
for i in range(m):
  l,r=map(int(input()))
  lm=max(lm,l)
  mr=min(mr,r)
  x=mr-lm+1

if x>=0:
  print(x)
else:
  print(0)


### FIXED CODE ###

n,m=map(int,input().split())
lm,mr=0,n
for i in range(m):
  l,r=map(int,input().split())
  lm=max(lm,l)
  mr=min(mr,r)
  x=mr-lm+1

if x>=0:
  print(x)
else:
  print(0)
s=input()
s＝s.replace("eraser","").replace("erase","").replace("dreamer","").replace("dream","")
if s:
    print("NO")
else:
    print("YES")

### FIXED CODE ###

s=input()
s=s.replace("eraser","").replace("erase","").replace("dreamer","").replace("dream","")
if s:
    print("NO")
else:
    print("YES")
N,*H = map(int,open(0).read().split())
maxLen = 0
tmpCnt = 0
for i in range(len(H)):
  if H[i] > H[1+1]:
    tmpCnt+=1
  else:
    maxLen = max(maxLen,tmpCnt)
    tmpCnt =0
print(maxLen)

### FIXED CODE ###

N,*H = map(int,open(0).read().split())
maxLen = 0
tmpCnt = 0
for i in range(N-1):
  if H[i] >= H[i+1]:
    tmpCnt += 1
  else:
    tmpCnt = 0
  maxLen = max(maxLen,tmpCnt)

print(maxLen)
n = int(input())
s = input()
list_ = []

for i in range(1, n-1):
    x = set(s[:i])
    y = set(s[i:])
    cnt = 0
    for j in x:
        if j in y:
            cnt += 1
    list_.append(cnt)

print(max(list_))

### FIXED CODE ###

n = int(input())
s = input()
list_ = []

for i in range(n):
    x = set(s[:i])
    y = set(s[i:])
    cnt = 0
    for j in x:
        if j in y:
            cnt += 1
    list_.append(cnt)

print(max(list_))
a = 'abcdefghijklmnopqrstuvwxyz'
l = [0]*26
while True:
    try:
        s=raw_input()
    except EOFError:
        break
    for i in s:
        an=ord(i.lower())-97
        if an > 25 or an < 0:
            continue
        l[an]+=1
for i in xrange(26):
    print a[i] + ' : '+ s(l[i])

### FIXED CODE ###

a='abcdefghijklmnopqrstuvwxyz'
l=[0]*26
while True:
    try:
        text=raw_input()
    except EOFError:
        break
    for i in text:
        ascNum=ord(i.lower())-97
        if ascNum < 0 or 25 < ascNum:
            continue
        l[ascNum]+=1
for i in xrange(26):
    print a[i] + ' : '+str(l[i])
import sys

N, K = list(map(int, input().split()))
MOD = 998244353

sys.setrecursionlimit(N * 3)

L = []
R = []
for _ in range(K):
    l, r = list(map(int, input().split()))
    L.append(l)
    R.append(r)

memo = [None] * (N + 1)

def f(x):
    if x < 0:
        return 0
    if memo[x] is None:
        memo[x] = _f(x)
    # print(x, memo[x])
    return memo[x]


def _f(x):
    if x < 1:
        return 0
    if x == 1:
        return 1
    ans = 0
    for k in range(K):
        for i in range(L[k], R[k] + 1):
            ans += f(x - i)
            ans %= MOD
    return ans % MOD

print(f(N) % MOD)


### FIXED CODE ###

S = input()

if S[-1] == "s":
    print(S + "es")
else:
    print(S + "s")
from collections import deque

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

ANS = deque()
for i in range(N):
  if i % 2 == 0:
    ANS.append(A[i])
  else:
    ANS.appendleft(A[i])
    
if N % 2 == 1:
  ANS = ANS[::-1]
  
print("".join(map(str,ANS)))

### FIXED CODE ###

from collections import deque

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

ANS = deque()
for i in range(N):
  if i % 2 == 0:
    ANS.append(A[i])
  else:
    ANS.appendleft(A[i])
    
ANS = list(ANS)
if N % 2 == 1:
  ANS = ANS[::-1]
  
print(" ".join(map(str,ANS)))
11 5 5

### FIXED CODE ###

a = [int(i) for i in input().split()]
a.sort()
print(sum([a[i+1]-a[i] for i in range(len(a)-1)]))
n = int(input())
C, S, F = [], [], []
for _ in range(n-1):
    c, s, f = map(int, input().split())
    C.append(c)
    S.append(s)
    F.append(f)

for i in range(n-1):
    #i=0, 1つめの駅発を対象とする
    time = S[i] + C[i]
    for j in range(i+1, n-1):
        if time <= S[j]:
            time = S[j] + C[j]
        else:
            #timeに到着して次の出発までにかかる時間は、
            time += (time - S[j])% F[j] + C[j]
    print(time)
print(0)


### FIXED CODE ###

m = int(input())

ans = 48- m
print(ans)
a,p=map(int,input())
print((3*a+p)//2)

### FIXED CODE ###

a,p=map(int,input().split())
print((3*a+p)//2)
import numpy as np
N,a,b = np.array(input().split()).astype(int)
mod = 10**9+7
import math
def power(x, n):
    ans = 1
    while(n > 0):
        if(bin(n & 1) == bin(1)):
            ans = ans*x%mod
        x = x*x%mod
        n = n >> 1 #ビットシフト
    return ans
def fact(m, n):
    val = 1
    for i in range(m, n + 1):
        val = (val*i)%mod
    return val
def cmb(N, r):
print((power(2, N)-1-cmb(N, a)-cmb(N, b))%mod)


### FIXED CODE ###

import numpy as np
N,a,b = np.array(input().split()).astype(int)
mod = 10**9+7
def power(x, n):
    ans = 1
    while(n > 0):
        if(bin(n & 1) == bin(1)):
            ans = ans*x%mod
        x = (x*x)%mod
        n = n >> 1 #ビットシフト
    return ans
def fact(m, n):
    val = 1
    for i in range(m, n+1):
        val = val*i % mod
    return val
    
def cmb1(N, r):
    A = fact(N-r+1, N)%mod
    B = fact(1, r)%mod
    return A, B, (A*power(B, mod-2))%mod
def cmb2(a, b, A, B):
    A = fact(N-a+1, N-b)*A%mod
    B = fact(b+1, a)*B%mod
    return (A*power(B, mod-2))%mod
if(a>N//2):
    a = N-a
if(b>N//2):
    b = N-b
tmp = max(a,b)
b = min(a,b)
a = tmp
A, B, K1 = cmb1(N, b)
K2 = cmb2(a, b, A, B)
print((power(2, N)-1-K1-K2)%mod)
A, B, K = input().split(" ")
A, B, K = int(A), int(B), int(K)

res = []

for i in range(A, 1, -1):
  if A % i == 0 and B % i == 0:
    res.append(i)

if len(res) > 1:
  print(res[K-1])
else:
  print(1)

### FIXED CODE ###

A, B, K = input().split(" ")
A, B, K = int(A), int(B), int(K)

res = []

for i in range(A, 0, -1):
  if A % i == 0 and B % i == 0:
    res.append(i)

print(res[K-1])
N = int(input())
A = [0 for i in range(N)]
for i in range(N):
    A[i] = list(map(int,input().split()))

A.sort()
for i in range(N):
    print(A[i])

### FIXED CODE ###


N = int(input())
A = [0 for i in range(N)]
for i in range(N):
    A[i] = list(map(str,input().split()))
for i in range(N):
    A[i].append(str(i+1))
for i in range(N):
    A[i][1] = int(A[i][1]) 


B = sorted(A, key=lambda x: x[1], reverse=True)

C = sorted(B, key=lambda x: x[0])

for i in range(N):
    print(int(C[i][2]))
# encoding:utf-8
n = int(input())
ary = list(map(int, input().split()))

if n % 2 == 0:
	out = [i for i in range(2, n, 2)]
	out.reverse()
	out.extend([i for i in range(1, n, 2)])
	out = list(map(str, out))
else:
	out = [i for i in range(1, n, 2)]
	out.reverse()
	out.extend([i for i in range(2, n, 2)])
	out = list(map(str, out))

print(" ".join(out))

### FIXED CODE ###

# encoding:utf-8
a, b, c = list(map(int, input().split()))
print(min(a + b, b+ c, c + a))
import heapq  # heapqライブラリのimoprt

N, M = map(int, input().split())
A = map(lambda x: int(x) * (-1), input().split())
heapq.heapify(A)

for _ in range(N):
    a = heapq.heappop(A)
    a = (-a // 2) * (-1)
    heapq.heappush(A, a)
print(-sum(A))


### FIXED CODE ###

import heapq
n, m = map(int, input().split())
a = list(map(lambda x: int(x) * -1, input().split()))
heapq.heapify(a)
for _ in range(m):
    tmp = (heapq.heappop(a) * (-1)) // 2
    heapq.heappush(a, -tmp)
print(sum(a) * -1)
n=int(input())
r=[list(map(int,input().split())) for _ in range(n)]
a,c,b,d=0,10**10,0,10**10
for i in range(n):
    x,y=r[i]
    a=max(a,x+y)
    c=min(c,x+y)
    b=max(b,x-y)
    d=min(d,x-y)
    d=max(0,d)
print(abs(max(a-c,b-d)))

### FIXED CODE ###

n=int(input())
p=10**9+7
l=[1]*(2001)
l[1],l[2]=0,0
s=1
for i in range(6,2001):
    l[i]+=s
    l[i]%=p
    s+=l[i-2]
print(l[n])
import numpy

s = input().split()
a, b, c = int(s[0]), int(s[1]), int(s[2])

if 4*a*b - (c - a - b) ** 2 < 0:
    print("Yes")
    # print("{}, {}".format(4*a*b, (c - a - b) ** 2))
else:
    print("No")
    # print("{}, {}".format(4*a*b, (c - a - b) ** 2))
    # 249999999 250000000 999999998


### FIXED CODE ###

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

if 4*a*b - (c - a - b) ** 2 < 0 and c-a-b > 0:
    print("Yes")
    # print("{}, {}".format(4*a*b, (c - a - b) ** 2))
else:
    print("No")
    # print("{}, {}".format(4*a*b, (c - a - b) ** 2))
    # 249999999 250000000 999999998
n = input()
sum = 9
for i in range(n):
  if i % 3 != 0 and i % 5 != 0:
    sum += i
    
print(sum)

### FIXED CODE ###

n = int(input())
sum = 0
for i in range(1, n+1):
  if i % 3 != 0 and i % 5 != 0:
    sum += i
    
print(sum)
n,m = map(int,input().split())
a = [int(input()) for i in range(m)]
mod = 10**9+7
dp = [0]*n
dp[0] = 1
dp[1] = 2
for i in range(2,n):
    if i+1 in a:
        dp[i] = 0
    else:
        dp[i] = (dp[i-1] + dp[i-2])%mod
print(dp[n-1])

### FIXED CODE ###

n,m = map(int,input().split())
mod = 10**9+7
a = set()
for i in range(m):
  s = int(input())
  a.add(s)
  
dp = [0]*(n+1)
dp[0] = 1
for i in range(1,n+1):
  if i in a:
    continue
  dp[i] = (dp[i-1] + dp[i-2]) % mod
  
print(dp[-1])
a, v = map(int,input().split())
b, w = map(int,input().split())
t = int(input())

kyo = abs(b - a)
ti = abs(v -w)

if kyo == 0:
    print("YES")
    exit()

if w > v or kyo % ti != 0:
    print("NO")
    exit()


if kyo / ti <= t:
    print("YES")
    exit()

print("NO")

### FIXED CODE ###

a, v = map(int,input().split())
b, w = map(int,input().split())
t = int(input())

kyo = abs(b - a)
ti = v - w

if w >= v:
    print("NO")
    exit()


if kyo / ti <= t:
    print("YES")
else:
    print("NO")
a = int(input())
b = int(input())
c = int(input())
if a == b:
  if c!=a:
    print("true")
  else: 
    print("false")
elif a == c:
  if b!=a:
    print("true")
  else : 
    print("false")
elif b == c:
  if a!=b :
    print("true")
  else:
    print("false")
else:
  print("false")
    

### FIXED CODE ###

def Main(A,B,C):

  if A == B:
    if C!=A:
      print("Yes",end="")
    else:
      print("No",end="")
  elif A == C:
    if B!=A:
      print("Yes",end="")
    else :
      print("No",end="")
  elif B == C:
    if A!=B :
      print("Yes",end="")
    else:
      print("No",end="")
  else:
    print("No",end="")
A,B,C = [int(num) for num in input().split(' ')]
Main(A,B,C)
a,b=map(int,ipnut().split())
print(a*(b*100)//100)

### FIXED CODE ###

from decimal import Decimal as Dec
from math import floor
a,b=input().split()
a=int(a)
b=Dec(b)
print(floor(a*b))
x,y = input().split
print(int(x)+int(y)/2)


### FIXED CODE ###

x,y = map(int ,input().split())
print(int(x+y/2))
A=input()
B=input()
C=0
for i in range(N):
  if A[i] != B[i]:
    C+=1
print(C)

### FIXED CODE ###

A=input()
B=input()
C=0
for i in range(len(A)):
  if A[i] != B[i]:
    C+=1
print(C)
S = input()
if S == AAA or S == BBB:
  print('No')
else:
  print('Yes')

### FIXED CODE ###

S = input()
if S == 'AAA' or S == 'BBB':
  print('No')
else:
  print('Yes')
import math
A , B = map(int , input().split())
print(A * B // math.gcd(A , B))


### FIXED CODE ###

import fractions
A , B = map(int , input().split())
print(A * B // fractions.gcd(A , B))
g

### FIXED CODE ###

def sieve(n):
    is_prime = [True for _ in range(n+1)]
    is_prime[0] = False

    for i in range(2, n+1):
        if is_prime[i-1]:
            j = 2 * i
            while j <= n:
                is_prime[j-1] = False
                j += i
    table = [ i for i in range(1, n+1) if is_prime[i-1]]
    return is_prime, table
N=int(input())
_, table = sieve(N)
d={}
for p in table:
    sum_=0
    calc=p
    while calc <= N:
        sum_ += N//calc
        calc *= p
    d[p] = sum_
    
lim = 10**9+7
ans=1
for i in d.values():
    ans = (ans * (i+1)) % lim
print(ans)
S = input()
N = len(S)
ans = 999
for i in range(N - 2): 
	num = S[i:i+3]
	if ans > abs(num - 753):
		ans = abs(num - 753)
print(ans)

### FIXED CODE ###

s = input()
 
ans = 1000
for i in range(len(s)-2):
    ans = min(ans, abs(753-int(s[i:i+3])))
print(ans)