#include <iostream>
#include <locale>

struct threes : std::numpunct<char>
{
    std::string do_grouping() const { return "\3"; }
};

int main()
{
    std::cout.imbue(std::locale(std::cout.getloc(), new threes));
    std::cout << 123456789 << '\n';
}
