#include<bits/stdc++.h>
using namespace std;
bool ans(int n,int sum,vector&arr){
if(n==0 && sum!=0){
return false;
}
unordered_sets;
int currsum = 0;
for(int i=0;i<n;i++){
currsum = currsum + arr[i];
if(currsum==sum){
return true;
}
if(s.find(currsum-sum)!=s.end()){
return true;
}
s.insert(currsum);
}
return false;
}
int main() {
int n;
cin>>n;
int sum;
cin>>sum;
vectorarr;
for(int i=0;i<n;i++){
int x;
arr.push_back(x);
}
if(ans(n,sum,arr)==true){
cout << "Yes" << endl;
}else{
cout<< "No" << endl;
}
}