"""
由於每格只會著色一次,所以只須紀錄塗色部分,不用模擬打印整張表
邊界條件,初始化idx為-1
"""
def dfs(n,x,y):
global idx,res
if idx>=lenL:
return
idx+=1
if L[idx]=='1':
for i in range(x,x+n):
for j in range(y,y+n):
res+=1
elif L[idx]=='2':
nn=n//2
dfs(nn,x,y)
dfs(nn,x,y+nn)
dfs(nn,x+nn,y)
dfs(nn,x+nn,y+nn)
return
L=input()
lenL=len(L)
n=int(input())
idx=-1
res=0
dfs(n,0,0)
print(res)
def dfs(n):
global idx,res
if idx>=lenL:
return
idx+=1
if L[idx]=='1':
res+=n*n
elif L[idx]=='2':
for _ in range(4):
dfs(n//2)
return
L=input()
lenL=len(L)
n=int(input())
idx=-1
res=0
dfs(n)print(res)