void solve()
{
int n,x;std::cin>>n>>x;
std::vector<int>a(n),b(n);
for(int i=0;i<n;i++)std::cin>>a[i]>>b[i];
std::vector dp(n+1,std::vector(x+1,0));
dp[0][0]=1;
for(int i=0;i<n;i++)
{
for(int j=0;j<=x;j++)
{
if(dp[i][j])
{
if(j+a[i]<=x)dp[i+1][j+a[i]]=1;
if(j+b[i]<=x)dp[i+1][j+b[i]]=1;
}
}
}
std::cout<<(dp[n][x]?"Yes":"No");
}
void solve()
{
int n,x;std::cin>>n>>x;
std::bitset<(int)(1e4+1e1)>f;
f[0]=1;
for(int i=0,a,b;i<n;i++)
{
std::cin>>a>>b;
f=(f<<a)|(f<<b);
}
std::puts(f[x]?"Yes":"No");
}
C - Jumping Takahashi (atcoder.jp)