import sys; input = sys.stdin.buffer.readline sys.setrecursionlimit(10**7) from collections import defaultdict con = 10 ** 9 + 7; INF = float("inf") def getlist(): return list(map(int, input().split())) #処理内容 def main(): N, W = getlist() A = [] D = defaultdict(int) for i in range(N): a = int(input()) A.append(a) i = 0; j = 0 val = 0 ans = 0 jud = 0 while True: if val > W or jud == 1: if i >= N: break D[A[i]] -= 1; val -= A[i] if D[A[i]] == 1: jud = 0 i += 1 else: if j >= N: break D[A[j]] += 1; val += A[j] if D[A[j]] == 2: jud = 1 else: if val <= W: ans = max(ans, j - i + 1) j += 1 print(ans) if __name__ == '__main__': main()