CodeEff/ECCO huggingface dataset:
# Original solution
d = {"A": 0, "AB": 0, "B": 0, "O": 0}
flag = 1
while flag:
    try:
        _, blood_type = input().split(',')
        d[blood_type] += 1
    except:
        for blood_type in ["A", "B", "AB", "O"]:
            print((d[blood_type]))
        flag = 0

# Optimized solution
d = []
flag = 1
while flag:
    try:
        _, blood_type = input().split(',')
        d.append(blood_type)
    except:
        for blood_type in ["A", "B", "AB", "O"]:
            print((d.count(blood_type)))
        flag = 0
# Original solution
( w, h, x, y, r ) = list(map ( int, input ( ).split ( ) ))

if ( 0 <= x - r ) and ( x + r <= w ) and ( 0 <= y - r ) and ( y + r <= h ):
  print ( "Yes" )
else:
  print ( "No" )

# Optimized solution
c = input().split()
W, H, x, y, r = int(c[0]), int(c[1]), int(c[2]), int(c[3]), int(c[4])

if r <= x <= W - r and r <= y <= H - r:
    print("Yes")
else:
    print("No")
# Original solution
# coding: utf-8
# Here your code !
import math

def func():
    try:
        line=input().rstrip()
        numbers=line.split(" ")
        
        width=float(numbers[0])
        height=float(numbers[1])
        x=float(numbers[2])
        y=float(numbers[3])
        r=abs(float(numbers[4]))
        
    except:
        print("input error")
        return -1
    
    wsign=math.copysign(1,width)
    hsign=math.copysign(1,height)
    
    result=(wsign*x+r <= wsign*width)
    result=result and (wsign*x-r >= 0)
    result=result and (hsign*y+r <= hsign*height)
    result=result and (hsign*y-r >= 0)
    
    if result:
        print("Yes")
    else:
        print("No")
        
func()

# Optimized solution
# coding: utf-8
# Here your code !
import math

def func():
    try:
        line=input().rstrip()
        numbers=line.split(" ")
        
        width=float(numbers[0])
        height=float(numbers[1])
        x=float(numbers[2])
        y=float(numbers[3])
        r=abs(float(numbers[4]))
        
    except:
        print("input error")
        return -1
    
    wsign=math.copysign(1,width)
    hsign=math.copysign(1,height)
    
    
    result="No"
    if(wsign*x+r <= wsign*width):
        if(wsign*x-r >= 0):
            if(hsign*y+r <= hsign*height):
                if(hsign*y-r >= 0):
                    result="Yes"
  
    print(result)
    
func()
# Original solution
(W,H,x,y,r) = input().rstrip().split(' ')
W = int(W)
H = int(H)
x = int(x)
y = int(y)
r = int(r)

if x - r >= 0 and y - r >= 0 and x + r <= W and y + r<= H:
    print('Yes')
else:
    print('No')

# Optimized solution
W, H, x, y, r = [int(i) for i in input().split()]

if x + r <= W and y - r >= 0 and x - r >= 0 and y + r <= H:
    print("Yes")
else:
    print("No")
# Original solution
W, H, x, y, r = list(map(int, input().split()))
 
if x - r < 0 or x + r > W or y - r < 0 or y + r > H:
  print ("No")
else:
  print ("Yes")

# Optimized solution
W, H, x, y, r = (int(i) for i in input().split())
 
if x - r < 0 :
    print("No")
elif x + r > W:
    print("No")
elif  y - r < 0:
    print("No")
elif y + r > H:
  print ("No")
else:
  print ("Yes")
# Original solution
W,H,x,y,r = list(map(int, input().split()))

if (0 <= x-r and x+r <= W) and (0 <= y-r and y+r <= H):
	print("Yes")
else:
	print("No")

# Optimized solution
W,H,x,y,r = list(map(int, input().split()))
if ((0 <= x-r) and (r+x <= W)) and ((0 <= y-r) and (r+y <= H)):
	print("Yes")
else:
	print("No")
# Original solution
W, H, x, y, r = list(map(int, input().split()))
if x-r >= 0 and y-r >= 0 and x+r <= W and y+r <= H:
    print("Yes")
else:
    print("No")

# Optimized solution
W,H,x,y,r = list(map(int,input().split()))
if H >= y+r and W >= x+r and 0 <= y-r and 0 <= x-r:
    print('Yes')
else:
    print('No')
# Original solution
a=input().split()
b=list(map(int,a))
W=b[0]
H=b[1]
x=b[2]
y=b[3]
r=b[4]
if (r <= x <= (W - r)) and (r <= y <= (H - r)):
  print('Yes')
else:
  print('No')

# Optimized solution
W,H,x,y,r = [int(i) for i in input().split()]
if (r <= x <= (W - r)) and (r <= y <= (H - r)):
  print('Yes')
else:
  print('No')
# Original solution
ia = [int(i) for i in input().split(" ")]
W=ia[0]
H=ia[1]
x=ia[2]
y=ia[3]
r=ia[4]
print(("Yes" if 0<=x-r and x+r<=W and 0<=y-r and y+r<=H else "No"))

# Optimized solution
# encoding:utf-8

input = list(map(int, input().split()))
W, H, x, y, r = input

if x - r < 0 or x + r > W:
	print("No")
elif y - r < 0 or y + r > H:
	print("No")
else:
	print("Yes")
# Original solution
W,H,x,y,r=list(map(int,input().split()))

if r<=x<=W-r and r<=y<=H-r:
  print("Yes")

else:
  print("No")

# Optimized solution
W,H,x,y,r=list(map(int,input().split()))

if y-r<0 or y+r>H:
  print("No")
  


elif x-r<0 or x+r>W:
  print("No")

elif y-r>=0 and y+r<=H:
    print("Yes")

elif x-r>=0 and x+r<=W:
    print("Yes")
# Original solution
#coding:utf-8
import sys
 
WHxyr=sys.stdin.readline()
nums=WHxyr.split( ' ' )
for i in range( len( nums) ):
	nums[i] = int( nums[i] )
if (0 <= nums[2]-nums[4]) and (nums[2]+nums[4] <= nums[0]) and (0 <= nums[3]-nums[4]) and (nums[3]+nums[4] <= nums[1]):
	print( "Yes" )
else:
	print( "No" )

# Optimized solution
import sys

W, H, x, y, r = [ int( val ) for val in sys.stdin.readline().split( " " ) ]
if (0 <= x-r) and (x+r <= W) and (0 <= y-r) and (y+r <= H):
	print( "Yes" )
else:
	print( "No" )
# Original solution
W, H, x, y ,r = [int(i) for i in input().split()]
 
if x <= 0 or y <= 0:
    print("No")
elif W - x >= r and H - y >= r:
    print("Yes")
else:
    print("No")

# Optimized solution
W, H, x, y, r = [int(i) for i in input().split()]

if x + r <= W and y - r >= 0 and x - r >= 0 and y + r <= H:
    print("Yes")
else:
    print("No")
# Original solution
N = list(map(int, input().split(' ')))

W = N[0]
H = N[1]
x = N[2]
y = N[3]
r = N[4]

if r <= x < W and (x + r) <= W and r <= y < W and (y + r) <= H:
	print('Yes')
else:
	print('No')

# Optimized solution
W, H, x, y, r = list(map(int, input().split()))

def YesOrNo(W, H , x, y, r):
	Xr = x + r
	Xl = x - r
	Yu = y + r
	Yd = y - r
	if (W >= Xr and H >= Yu and 0 <= Xl and 0 <= Yd):
		return "Yes"
	else:
		return "No"

print((YesOrNo(W, H, x, y, r)))
# Original solution
w,h,x,y,r = list(map(int, input().split()))
if r <= x <= w-r and r <= y <= h-r:
  print('Yes')
else:
  print('No')

# Optimized solution
W, H, x, y, r = list(map(int, input().split()))

if r <= x <= W-r and r <= y <= H-r:
    print("Yes")
else:
    print("No")
# Original solution
w, h, x, y, r = list(map(int, input().split()))
if(min([x, y, w - x, h - y]) >= r):
    print("Yes")
else:
    print("No")

# Optimized solution
W, H, x, y, r = list(map(int, input().split()))
if x < r or y < r or W - x < r or H - y < r:
	print("No")
else:
	print("Yes")
# Original solution
def main():
    W, H, x, y, r = list(map(int, input().split()))
    
    f = 1
    if x + r > W:
        f = 0
    if x - r < 0:
        f = 0
    if y + r > H:
        f = 0
    if y - r < 0:
        f = 0

    if f == 1:
        print("Yes")
    else:
        print("No")

if __name__ == "__main__":
    main()

# Optimized solution
W,H,x,y,r=list(map(int,input().split()))
print((["No","Yes"][(0<=x-r<=W)and(0<=y-r<=H)and(0<=x+r<=W)and(0<=y+r<=H)]))
# Original solution
import sys
read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines

N = int(readline())
S = readline().rstrip().decode('utf-8')

def solve_partial(S):
    INF = 10**18
    """
    ・Sは1から始まり、1で終わる
    ・Sは00を含まない
    ・したがって、Sは1,01に分解可能
    ・残る最小個数を調べるdp。これは、1, 101111,111101 の3種を数えることと同じ
    ・a, b0cccc, dddd0e として、「現在の1がどれであるか -> 最小個数」でdp
    ・個数はa,b,eのときに数える
    """
    S = S.replace('01','2')
    a,b,c,d,e = 1,1,INF,0,INF
    for x in S[1:]:
        if x == '1':
            a2 = min(a,c,e)+1
            b2 = min(a,c,e)+1
            c2 = c
            d2 = min(a,c,d,e)
            e2 = INF
        else:
            a2 = min(a,c,e)+1
            b2 = min(a,c,e)+1
            c2 = b
            d2 = min(a,c,e)
            e2 = d+1
        a,b,c,d,e = a2,b2,c2,d2,e2
    return len(S)-min(a,c,e)

answer = 0
for x in S.split('00'):
    x = x.strip('0')
    if x:
        answer += solve_partial(x)

print(answer)

# Optimized solution
import sys
read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines

N = int(readline())
S = readline().rstrip().decode('utf-8')

def solve_partial(S):
    INF = 10**18
    """
    ・Sは1から始まり、1で終わる
    ・Sは00を含まない
    ・したがって、Sは1,01に分解可能
    ・残る最小個数を調べるdp。これは、1, 101111,111101 の3種を数えることと同じ
    ・a, b0cccc, dddd0e として、「現在の1がどれであるか -> 最小個数」でdp
    ・個数はa,b,eのときに数える
    """
    S = S.replace('01','2')
    a,b,c,d,e = 1,1,INF,0,INF
    for x in S[1:]:
        if x == '1':
            a2 = min(a,c,e)+1
            c2 = c
            d2 = min(a,c,d,e)
            e2 = INF
        else:
            a2 = min(a,c,e)+1
            c2 = a
            d2 = min(a,c,e)
            e2 = d+1
        a,c,d,e = a2,c2,d2,e2
    return len(S)-min(a,c,e)

answer = 0
for x in S.split('00'):
    x = x.strip('0')
    if x:
        answer += solve_partial(x)

print(answer)
# Original solution
import sys
read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines

N = int(readline())
S = readline().rstrip().decode('utf-8')

def solve_partial(S):
    INF = 10**18
    """
    ・Sは1から始まり、1で終わる
    ・Sは00を含まない
    ・したがって、Sは1,01に分解可能
    ・残る最小個数を調べるdp。これは、1, 101111,111101 の3種を数えることと同じ
    ・a, b0cccc, dddd0e として、「現在の1がどれであるか -> 最小個数」でdp
    ・個数はa,b,eのときに数える
    """
    S = S.replace('01','2')
    a,b,c,d,e = 1,1,INF,0,INF
    for x in S[1:]:
        if x == '1':
            a2 = min(a,c,e)+1
            c2 = c
            d2 = min(a,c,d,e)
            e2 = INF
        else:
            a2 = min(a,c,e)+1
            c2 = a
            d2 = min(a,c,e)
            e2 = d+1
        a,c,d,e = a2,c2,d2,e2
    return len(S)-min(a,c,e)

answer = 0
for x in S.split('00'):
    x = x.strip('0')
    if x:
        answer += solve_partial(x)

print(answer)

# Optimized solution
import sys
read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines

N = int(readline())
S = readline().rstrip().decode('utf-8')

def solve_partial(S):
    INF = 10**18
    """
    ・Sは1から始まり、1で終わる
    ・Sは00を含まない
    ・したがって、Sは1,01に分解可能
    ・残る最小個数を調べるdp。これは、1, 101111,111101 の3種を数えることと同じ
    ・a, b0cccc, dddd0e として、「現在の1がどれであるか -> 最小個数」でdp
    ・個数はa,b,eのときに数える
    """
    S = S.replace('01','2')
    a,b,c,d,e = 1,1,INF,0,INF
    for x in S[1:]:
        ace = min(a,c,e)
        if x == '1':
            a2 = ace+1
            c2 = c
            d2 = ace if ace<d else d
            e2 = INF
        else:
            a2 = ace+1
            c2 = a
            d2 = ace
            e2 = d+1
        a,c,d,e = a2,c2,d2,e2
    return len(S)-min(a,c,e)

answer = 0
for x in S.split('00'):
    x = x.strip('0')
    if x:
        answer += solve_partial(x)

print(answer)
# Original solution
import math
M = 256
while 1:
    N = int(input())
    if N == 0: break
    H = 1e10
    l = list(map(int,input().split()))
    ans = [0,0,0]
    for S in range(16):
        for A in range(16):
            for C in range(16):
                R = S
                O = [0]*N
                for i in range(N):
                    R = (A*R+C)%M
                    O[i] = (l[i]+R)%M
                L = [0]*256
                for i in O: L[i] += 1
                tmp = -sum(float(i)/N*math.log(float(i)/N,2) for i in L if i != 0)
                if tmp < H:
                    H = tmp
                    ans = [S,A,C]
    print(" ".join(map(str,ans)))

# Optimized solution
import math
M = 256
while 1:
    N = int(input())
    if N == 0: break
    H = 1e10
    l = list(map(int,input().split()))
    ans = [0,0,0]
    for S in range(16):
        for A in range(16):
            for C in range(16):
                R = S
                O = [0]*256
                for i in range(N):
                    R = (A*R+C)%M
                    O[(l[i]+R)%M] += 1
                tmp = -sum(float(x)/N*math.log(float(x)/N,2) for x in O if x != 0)
                if tmp < H:
                    H = tmp
                    ans = [S,A,C]
    print(" ".join(map(str,ans)))
# Original solution
import math
M = 256
while 1:
    N = int(input())
    if N == 0: break
    H = 1e10
    l = list(map(int,input().split()))
    ans = [0,0,0]
    for S in range(16):
        for A in range(16):
            for C in range(16):
                R = S
                O = [0]*256
                for i in range(N):
                    R = (A*R+C)%M
                    O[(l[i]+R)%M] += 1
                tmp = -sum(float(x)/N*math.log(float(x)/N,2) for x in O if x != 0)
                if tmp < H:
                    H = tmp
                    ans = [S,A,C]
    print(" ".join(map(str,ans)))

# Optimized solution
import math
M = 256
while 1:
    N = int(input())
    if N == 0: break
    H = 1e10
    l = list(map(int,input().split()))
    for S in range(16):
        for A in range(16):
            for C in range(16):
                R = S
                O = [0]*M
                for i in range(N):
                    R = (A*R+C)%M
                    O[(l[i]+R)%M] += 1
                tmp = -sum(1.0*x/N*math.log(1.0*x/N,2) for x in O if x != 0)
                if tmp < H:
                    H = tmp
                    ans = [S,A,C]
    print(" ".join(map(str,ans)))
# Original solution
import math
M = 256
while 1:
    N = int(input())
    if N == 0: break
    H = 1e10
    l = list(map(int,input().split()))
    for S in range(16):
        for A in range(16):
            for C in range(16):
                R = S
                O = [0]*M
                for i in range(N):
                    R = (A*R+C)%M
                    O[(l[i]+R)%M] += 1
                tmp = -sum(1.0*x/N*math.log(1.0*x/N,2) for x in O if x != 0)
                if tmp < H:
                    H = tmp
                    ans = [S,A,C]
    print(" ".join(map(str,ans)))

# Optimized solution
import math
M = 256
while 1:
    N = int(input())
    if N == 0: break
    H = 1e10
    I = list(map(int,input().split()))
    for S in range(16):
        for A in range(16):
            for C in range(16):
                R = S
                O = [0]*M
                for i in I:
                    R = (A*R+C)%M
                    O[(i+R)%M] += 1
                tmp = -sum(1.0*x/N*math.log(1.0*x/N,2) for x in O if x > 0)
                if tmp < H:
                    H = tmp
                    ans = [S,A,C]
    print(" ".join(map(str,ans)))
# Original solution
import sys

S = sys.stdin.readline().strip()
ls = len(S)

if ls == 26 and list(S) == sorted(S, reverse=True):
    print((-1))
    sys.exit()

alpha = "abcdefghijklmnopqrstuvwxyz"
exists = set(S)
if ls < 26:
    for a in alpha:
        if a not in exists:
            print((S + a))
            sys.exit()
else:
    for i in range(ls):
        tmp = S[ls-1-i:] 
        if list(tmp) != sorted(tmp, reverse=True):
            break
    remain = []
    exists = set(S[:ls-i-1])
    last = S[ls-i-1]
    for a in alpha:
        if a not in exists:
            remain.append(a)

    for r in sorted(remain, reverse=True):
        if last < r:
            min_a = r
    # min_a = sorted(remain)[0]
    print((S[:ls-i-1] + min_a))

# Optimized solution
import sys

S = sys.stdin.readline().strip()
ls = len(S)

if ls == 26 and list(S) == sorted(S, reverse=True):
    print((-1))
    sys.exit()

alpha = "abcdefghijklmnopqrstuvwxyz"
exists = set(S)
if ls < 26:
    for a in alpha:
        if a not in exists:
            print((S + a))
            sys.exit()
else:
    for i in range(ls):
        tmp = S[ls-1-i:] 
        if list(tmp) != sorted(tmp, reverse=True):
            break
    last = S[ls-i-1]
    for r in sorted(S[ls-i:], reverse=True):
        if last < r:
            min_a = r
    # min_a = sorted(remain)[0]
    print((S[:ls-i-1] + min_a))
# Original solution
S = input().strip()
C = {chr(i):0 for i in range(97,123)}
n = len(S)
for a in S:
    C[a] += 1
flag = 0
for i in range(97,123):
    if C[chr(i)]==0:
        x = S+chr(i)
        flag = 1
        break
if flag==0:
    cnt = -2
    while cnt>=-n:
        b = S[cnt]
        A = []
        for i in range(n+cnt+1,n):
            if ord(b)<ord(S[i]):
                A.append(S[i])
        if len(A)>0:
            A = sorted(A)
            x = S[:cnt]+A[0]
            flag = 1
            break
        cnt -= 1
if flag == 1:
    print(x)
else:
    print((-1))

# Optimized solution
S = input().strip()
if len(S)<26:
    for i in range(97,123):
        if chr(i) not in S:
            print((S+chr(i)))
            break
else:
    flag = 0
    for i in range(24,-1,-1):
        if S[i]<S[i+1]:
            a = S[i]
            for j in range(25,i,-1):
                if S[j]>a:
                    print((S[:i]+S[j]))
                    flag = 1
                    break
            if flag==1:break
    if flag==0:
        print((-1))
# Original solution
import sys
from collections import deque
s = deque(list(map(str, input().rstrip())))

# 辞書の最後は-1
if "".join(s) == "zyxwvutsrqponmlkjihgfedcba":
    print((-1))
    sys.exit()

# 使える文字リスト作成
s = [ord(x) for x in s]

# 26文字未満なら、未使用の１文字を追加して終わり
if len(s) < 26:
    can_use = set(range(97, 123)) - set(s)
    s = s + [min(can_use)]

# 26文字の時は例外処理を入れる
else:
    add = []
    s = s[::-1]
    prev = s[0]
    add.append(prev)

    # 末尾がzならzを消去し、1文字前をzにして終わり
    if prev == 122:
        s[1] = 122
        s = s[::-1]
        s = s[:-1]

    # そうでなければ、初めて増加する値が減少するタイミングまで見る
    # 減少するポイントで、その時点で使える中で最小の文字に差し替え
    else:
        for i in range(1, len(s)):
            if prev > s[i]:
                add = [x for x in add if x > s[i]]
                s[i] = (min(add))
                s = s[::-1]
                s = s[:-i]
                break
            prev = s[i]
            add.append(prev)

# 文字列に戻す処理
s = [chr(x) for x in s]

print(("".join(s)))

# Optimized solution
import sys
from collections import deque
s = deque(list(map(str, input().rstrip())))

# 辞書の最後は-1
if "".join(s) == "zyxwvutsrqponmlkjihgfedcba":
    print((-1))
    sys.exit()

# 使える文字リスト作成
s = [ord(x) for x in s]

# 26文字未満なら、未使用の１文字を追加して終わり
if len(s) < 26:
    can_use = set(range(97, 123)) - set(s)
    s = s + [min(can_use)]

# 26文字の時は例外処理を入れる
else:
    add = []
    s = s[::-1]
    prev = s[0]
    add.append(prev)

    # 末尾がzならzを消去し、1文字前をzにして終わり
    if prev == 122:
        s[1] = 122
        s = s[::-1][:-1]

    # そうでなければ、初めて増加する値が減少するタイミングまで見る
    # 減少するポイントで、その時点で使える中で最小の文字に差し替え
    else:
        for i in range(1, len(s)):
            if prev > s[i]:
                add = [x for x in add if x > s[i]]
                s[i] = (min(add))
                s = s[::-1][:-i]
                break
            prev = s[i]
            add.append(prev)

# 文字列に戻す処理
s = [chr(x) for x in s]

print(("".join(s)))
# Original solution
def rot(s):
    x=""
    for c in s:
        tmp = ord(c)-ord("a")
        if "a"<=c<="z":
            x += chr((tmp+1) % 26 + ord("a"))
        else:
            x += c
    return x
    
def check(s):
    for word in s.split():
        if word=="the" or word=="this" or word=="that":
            return True
    else: return False

while True:
    try:
        s = input()
        f = False
        for i in range(26):
            if check(s):break
            else: s=rot(s)
        print(s)
    except:
        break

# Optimized solution
import sys
def decode(s):
    x=""
    for c in s:
        if not (c==" " or c=="."):
            x+=chr(ord(c)+1)
        else:
            x+=c
    return x.replace(chr(ord("z")+1),"a")
for s in sys.stdin.readlines():
    for i in range(ord("z")-ord("a")+1):
        if "the" in s or "that" in s or "this" in s:
            print(s[:-1])
            break
        s=decode(s)
# Original solution
n,k = list(map(int,input().split()))
boats = [list(map(int,input().split())) for i in range(k)]
r = eval(input())
hate = [list(map(int,input().split())) for i in range(r)]
blue = [0]*51
for i,j in hate:
	for boat in boats:
		if i in boat[1:] and j in boat[1:]:
			blue[i] = 1
			blue[j] = 1
print(sum(blue))

# Optimized solution
n,k = list(map(int,input().split()))
boats = [list(map(int,input().split()))[1:] for i in range(k)]
r = eval(input())
hate = [list(map(int,input().split())) for i in range(r)]
blue = [0]*51
for i,j in hate:
	for boat in boats:
		if i in boat and j in boat:
			blue[i] = 1
			blue[j] = 1
print(sum(blue))
# Original solution
import sys
from math import factorial, fabs
a, b = list(map(int, input().split()))
try:
    if factorial(b)/factorial(a)==0:
        print("Zero")
        sys.exit()
except:
    if 0 in range(a, b+1):
        print("Zero")
        sys.exit()       
    c=0
x=True
if (fabs(a)-fabs(b))%2==0 and (b<0):
    x=False
a, b= fabs(a), fabs(b)
fin=int(factorial(b)/factorial(a))
if fin==0 and factorial(b)/factorial(a)!=0:
    fin=int(factorial(a)/factorial(b))
if x==False:
    fin*=-1
if fin==0:
    ans="Zero"
elif fin<0:
    ans="Negative"
else:
    ans="Positive"
print(ans)

# Optimized solution
from math import fabs
a, b = list(map(int, input().split()))
if a <= 0 and 0 <= b:
    print("Zero")
else:
    if a > 0:
        print("Positive")
    else:
        if (fabs(b - a) + 1) % 2 == 0:
            print("Positive")
        else:
            print("Negative")
# Original solution
from functools import reduce 

ans=1
a,b=list(map(int,input().split()))
if a<0 and b>0:
    print ("Zero")
else:
    ans=reduce((lambda x, y: x * y), list(range(a,b+1))) 
    if ans>0:
        print ("Positive")
    else:
        print ("Negative")

# Optimized solution
a,b=list(map(int,input().split()))
if a<=0<=b:
    print ("Zero")
elif (min(0,b)-a)%2:
    print ("Positive")
else:
    print ("Negative")
# Original solution
a, b = list(map(int, input().split()))
for i in range (a,b):
  a *= i
if a < 0 :
  print("Negative")
elif a==0:
  print("Zero")
elif a> 0:
  print("Positive")
  

# Optimized solution
a,b = list(map(int, input().split()))
if a> 0:
  print("Positive")
elif b< 0 :
  if (b-a) % 2 == 0:
    print("Negative")
  else :
    print("Positive")
else : 
  print("Zero")
# Original solution
a, b = list(map(int, input().split()))
num = 1
for i in range(a, b+1):
    num *= i

if num == 0:
    print('Zero')
elif num < 0:
    print('Negative')
else:
    print('Positive')

# Optimized solution
a, b = list(map(int, input().split()))

if a <= 0 and b >= 0:
    print('Zero')
elif a < 0 and b < 0 and (b-a)%2 == 0:
    print('Negative')
else:
    print('Positive')
# Original solution
a,b=list(map(int,input().split()))
import sys
ans=1

for i in range(a,b+1):
    if i == 0:
        print('Zero')
        sys.exit()
    ans*=i
    
if 0 < ans:
    print('Positive')
elif ans == 0:
    print('Zero')
else:
    print('Negative')

# Optimized solution
a,b=list(map(int,input().split()))

if 0<a<b:
    print('Positive')

elif a<=0<=b:
    print('Zero')

elif (b-a)%2==0:
    print('Negative')
else:
    print('Positive')
# Original solution
a,b = list(map(int,input().split()))
count = [i for i in range(a,b+1) if i<0]
if 0 in [i for i in range(a,b+1)]:
    print("Zero")
elif len(count)%2==0:
    print("Positive")
else:
    print("Negative")

# Optimized solution
a,b = list(map(int,input().split()))
if 0 >=a and 0<=b:
    print("Zero")
elif a>0 and b>0:
    print("Positive")
else:
    if (b-a+1)%2==0:
        print("Positive")
    else:
        print("Negative")
# Original solution
a, b = list(map(int, input().split()))
ans = 1

for i in range(a, b+1):
    ans *= i
    if ans == 0:
        break

if ans > 0: print('Positive')
elif ans < 0: print('Negative')
else: print('Zero')

# Optimized solution
a, b = list(map(int, input().split()))
if a < 0 and b > 0:
    print('Zero')
elif a > 0 and b > 0:
    print('Positive')
else:
    if (a - b - 1) % 2 == 0:
        print('Positive')
    else:
        print('Negative')
# Original solution
# coding: utf-8
a, b = list(map(int, input().split()))
c = [i for i in range(a, b+1)]

if a <= 0 and b >= 0:
    print("Zero")
elif b < 0 and (a - b) % 2 == 0:
    print("Negative")
else:
    print("Positive")

# Optimized solution
# coding: utf-8
a, b = list(map(int, input().split()))

if a <= 0 and b >= 0:
    print("Zero")
elif b < 0 and (a - b) % 2 == 0:
    print("Negative")
else:
    print("Positive")