#include <sstream>
#include <string>
#include <ios>
#include <locale>
#include <iostream>
#include <iterator>
int main( ) {
std::locale loc("");
std::ios_base::iostate st = std::ios_base::iostate();
std::cout.imbue(loc);
// force it to show the currency symbol.
std::cout.flags(std::cout.flags()|std::ios_base::showbase);
// Get access to the facet:
std::money_put<char> const &mp = std::use_facet<std::money_put<char> >(loc);
// Write a value. Treated as integer count of pennies.
mp.put(std::cout.rdbuf(), false, std::cout, st, 12345678);
return 0;
};
I2luY2x1ZGUgPHNzdHJlYW0+CiNpbmNsdWRlIDxzdHJpbmc+CiNpbmNsdWRlIDxpb3M+CiNpbmNsdWRlIDxsb2NhbGU+CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPGl0ZXJhdG9yPgoKaW50IG1haW4oICkgewoJc3RkOjpsb2NhbGUgbG9jKCIiKTsKCXN0ZDo6aW9zX2Jhc2U6Omlvc3RhdGUgc3QgPSBzdGQ6Omlvc19iYXNlOjppb3N0YXRlKCk7CgoJc3RkOjpjb3V0LmltYnVlKGxvYyk7CgoJLy8gZm9yY2UgaXQgdG8gc2hvdyB0aGUgY3VycmVuY3kgc3ltYm9sLgoJc3RkOjpjb3V0LmZsYWdzKHN0ZDo6Y291dC5mbGFncygpfHN0ZDo6aW9zX2Jhc2U6OnNob3diYXNlKTsKCgkvLyBHZXQgYWNjZXNzIHRvIHRoZSBmYWNldDoKCXN0ZDo6bW9uZXlfcHV0PGNoYXI+IGNvbnN0ICZtcCA9IHN0ZDo6dXNlX2ZhY2V0PHN0ZDo6bW9uZXlfcHV0PGNoYXI+ID4obG9jKTsKCgkvLyBXcml0ZSBhIHZhbHVlLiBUcmVhdGVkIGFzIGludGVnZXIgY291bnQgb2YgcGVubmllcy4KCW1wLnB1dChzdGQ6OmNvdXQucmRidWYoKSwgZmFsc2UsIHN0ZDo6Y291dCwgc3QsIDEyMzQ1Njc4KTsKICAgCglyZXR1cm4gMDsKfTsK