class Solution {
public:
    struct Less {
        bool operator()(int a, int b) {
            return stoi(to_string(a)+to_string(b)) < stoi(to_string(b)+to_string(a));
        }
    };

    string PrintMinNumber(vector<int> numbers) {
        sort(numbers.begin(), numbers.end(), Less());
        string result;
        for (size_t i = 0; i < numbers.size(); ++ i) result+=to_string(numbers[i]);
        return result;
    }
};