#include <iostream>
#include <vector>


bool increment(std::vector<int>& v, int maxSize)
{
    for (auto it = v.rbegin(); it != v.rend(); ++it) {
        ++*it;
        if (*it != maxSize) {
            return true;
        }
        *it = 0;
    }
    return false;
}

void print(const std::vector<int>& v)
{
	for (auto e : v) {
		std::cout << e << " ";
	}
	std::cout << std::endl;
}


int main() {
	std::vector<int> v(3);
	
	do {
		print(v);
	} while (increment(v, 10));


}