#入力:N,M(int:整数)
def input2():
	return map(int,input().split())

#入力:[n1,n2,...nk](int:整数配列)
def input_array():
	return list(map(int,input().split()))
  
n,x=input2()
L=input_array()

D=0
flag=True
for i in range(1,n+1):
	D+=L[i-1]
	if D>x:
		print(i)
		flag=False
		break
if flag:
	print(n+1) def input2():
	return map(int,input().split())

#入力:[n1,n2,...nk](int:整数配列) input2 return map(int,input().split()) map(int,input().split()) map int input().split() ().split () input split def input_array():
	return list(map(int,input().split()))
   input_array return list(map(int,input().split())) list(map(int,input().split())) list map(int,input().split()) map int input().split() ().split () input split n,x=input2() n input2() input2 x L=input_array() L input_array() input_array D=0 D 0 flag=True flag True for i in range(1,n+1):
	D+=L[i-1]
	if D>x:
		print(i)
		flag=False
		break i range(1,n+1) range 1 n+1 n 1 D+=L[i-1] D L[i-1] L i-1 i 1 if D>x:
		print(i)
		flag=False
		break D>x D x print(i) print i flag=False flag False break if flag:
	print(n+1) flag print(n+1) print n+1 n 1 D=0 0 D n,x=input2() input2() n L=input_array() input_array() L flag=False False flag D+=L[i-1] L[i-1] D flag=True True flag x=input2() input2() x def input2():
	return map(int,input().split())

#入力:[n1,n2,...nk](int:整数配列) def input2():
	return map(int,input().split())

#入力:[n1,n2,...nk](int:整数配列) input2 def input_array():
	return list(map(int,input().split()))
   def input_array():
	return list(map(int,input().split()))
   input_array
#入力:N,M(int:整数)
def input2():
	return map(int,input().split())

#入力:[n1,n2,...nk](int:整数配列)
def input_array():
	return list(map(int,input().split()))
  
n,x=input2()
L=input_array()

D=0
flag=True
for i in range(1,n+1):
	D+=L[i-1]
	if D>x:
		print(i)
		flag=False
		break
if flag:
	print(n+1)