#include #include #include static void solve( long long int acc, long long int x, std::string answer, const std::vector &va, std::vector::size_type idx); int main(void) { std::cin.tie(0); std::ios::sync_with_stdio(false); int n; long long int x; std::cin >> n >> x; std::vector va; for (int i = 0; i < n; i++) { int a; std::cin >> a; if (a <= x) { va.push_back(a); } } solve(0, x, "", va, 0); std::cout << "No" << std::endl; return EXIT_SUCCESS; } static void solve( long long int acc, long long int x, std::string answer, const std::vector &va, std::vector::size_type idx) { if (acc == x) { std::cout << answer; for (std::vector::size_type i = idx, size = va.size(); i < size; i++) { std::cout.put('x'); } std::exit(EXIT_SUCCESS); } else if (idx == va.size() || acc > x) { return; } else { solve(acc + va[idx], x, answer + "o", va, idx + 1); solve(acc, x, answer + "x", va, idx + 1); } }