# def check(x,y,l):
# c=0
# global a
# if l==1:
# return 1
# for i in range(x,x+l):
# for j in range(y,y+l):
# if i==x and j==y:
# c=a[i][j]
# else:
# if c!=a[i][j]:
# return 0
# return 1
# def dfs(x,y,l):
# global n,a,b,w
# if check(x,y,l)==1:
# if a[x][y]==1:
# b=b+1
# else:
# w=w+1
# return
# nl=l//2
# dfs(x,y,nl)
# dfs(x,y+nl,nl)
# dfs(x+nl,y,nl)
# dfs(x+nl,y+nl,nl)
# n=int(input())
# a=[]
# b=0
# w=0
# for i in range(n):
# t=list(map(int,input().split()))
# a.append(t)
# dfs(0,0,n)
# print(w)
# print(b)
# def check(x,y,l):
# c=0
# global a
# if l==1:
# return 1
# for i in range(x,x+l):
# for j in range(y,y+l):
# if i==x and j==y:
# c=a[i][j]
# else:
# if c!=a[i][j]:
# return 0
# return 1
# def dfs(x,y,l):
# global n,a,b
# if check(x,y,l)==1:
# if int(a[x][y])==1:
# b.append(1)
# else:
# b.append(0)
# return
# nl=l//2
# b.append('(')
# dfs(x,y,nl)
# dfs(x,y+nl,nl)
# dfs(x+nl,y,nl)
# dfs(x+nl,y+nl,nl)
# b.append(')')
# n=int(input())
# a=[]
# b=[]
# for i in range(n):
# t=input()
# a.append(list(t))
# dfs(0,0,n)
# for x in b:
# print(x,end='')
# def kantor(x,y,l):
# global a
# if l==1:
# return
# ot=x+(l//3)
# tt=x+(l//3*2)
# for i in range(ot,tt):
# a[i]=' '
# kantor(x,ot,l//3)
# kantor(tt,y,l//3)
# while 1:
# try:
# n=int(input())
# p=pow(3,n)
# a=['-' for i in range(p)]
# kantor(0,p,p)
# for x in a:
# print(x,end='')
# print()
# except:
# break
n,d=int(input())



