#include <bits/stdc++.h>
using namespace std;
#define int long long
const int MAXN = 1e6 + 10;
int n,s,sum,a[MAXN],k[MAXN],k1[MAXN],a2[MAXN];
signed main() {
ios::sync_with_stdio(0);cin.tie(0);
cin >> n >> s;
for(int i = 1;i <= n;i++) {
cin >> a[i];
sum += a[i];
}
for(int i = 1;i <= n;i++) {
k[i] = k[i - 1] + a[i];
}
for(int i = n,j = 1;i >= 1;i --,j++) {
a2[j] = a[i];
}
for(int i = 1;i <= n;i++) {
k1[i] = k1[i - 1] + a2[i];
}
if(s % sum == 0) {
cout << "Yes\n";
return 0;
}
int x = s % sum;
x = sum - x;
for(int i = 1;i <= n;i++) {
int y = x - k[i],l = 0,r = n + 1;
if(y == 0) {
cout << "Yes\n";
return 0;
}
if(y < 0) {
y = x;
}
while(l + 1 != r) {
int mid = (l + r) >> 1;
if(k1[mid] < y) {
l = mid;
}
else {
r = mid;
}
}
if(k1[r] == y) {
cout << "Yes\n";
return 0;
}
}
cout << "No\n";
return 0;
}
题目传送门