#include #include using namespace std; typedef long long ll; const int threshold = 35000; int main(){ int N; ll X; cin >> N >> X; vector> A, B; int Asum = 0; for(int i=0;i> t; if(t < threshold){ A.emplace_back(i, t); Asum += t; } else { B.emplace_back(i, t); } } vector dp(Asum + 1, false); vector pre(Asum + 1, -1); dp[0] = true; for(int i=0;i=A[i].second;sum--)if(!dp[sum] && dp[sum - A[i].second]){ dp[sum] = true; pre[sum] = i; } } for(int m=0;m<1<> i) & 1){ Bsum += B[i].second; } if(Bsum > X || X - Bsum > Asum || !dp[X - Bsum])continue; string res(N, 'x'); for(int i=0;i> i) & 1){ res[B[i].first] = 'o'; } ll rem = X - Bsum; while(rem > 0){ int p = pre[rem]; res[A[p].first] = 'o'; rem -= A[p].second; } cout << res << endl; return 0; } cout << "No" << endl; return 0; }