#include <iostream>
#include <sstream>
#include <locale>
struct dotted : std::numpunct<char> {
char do_thousands_sep() const { return '.'; } // separate with dots
std::string do_grouping() const { return "\3"; } // groups of 3 digits
static void imbue(std::ostream &os) {
os.imbue(std::locale(os.getloc(), new dotted));
}
};
int main()
{
int Value = 12345678;
std::stringstream ss;
dotted::imbue(ss);
ss << Value;
std::cout << ss.str() << '\n';
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3N0cmVhbT4KI2luY2x1ZGUgPGxvY2FsZT4KIApzdHJ1Y3QgZG90dGVkIDogc3RkOjpudW1wdW5jdDxjaGFyPiB7CiAgICBjaGFyIGRvX3Rob3VzYW5kc19zZXAoKSAgIGNvbnN0IHsgcmV0dXJuICcuJzsgfSAgLy8gc2VwYXJhdGUgd2l0aCBkb3RzCiAgICBzdGQ6OnN0cmluZyBkb19ncm91cGluZygpIGNvbnN0IHsgcmV0dXJuICJcMyI7IH0gLy8gZ3JvdXBzIG9mIDMgZGlnaXRzCiAgICBzdGF0aWMgdm9pZCBpbWJ1ZShzdGQ6Om9zdHJlYW0gJm9zKSB7CiAgICAJb3MuaW1idWUoc3RkOjpsb2NhbGUob3MuZ2V0bG9jKCksIG5ldyBkb3R0ZWQpKTsKICAgIH0KfTsKIAppbnQgbWFpbigpCnsKCWludCBWYWx1ZSA9IDEyMzQ1Njc4OwoJc3RkOjpzdHJpbmdzdHJlYW0gc3M7CiAgICBkb3R0ZWQ6OmltYnVlKHNzKTsKICAgIHNzIDw8IFZhbHVlOwogICAgc3RkOjpjb3V0IDw8IHNzLnN0cigpIDw8ICdcbic7Cn0=