#include <string>
#include <iostream>
#include <math.h>
using namespace std;
void c(int x,string r){int i,t=0,s=r.size();if(s<8){if(r[0]>48){for(i=0;i<s;i++)t+=(r[s-i-1]-48)*1<<i;if(t==x)cout<<r<<" ";}for(char n=48;n<51;n++)c(x,r+n);}}
int main()
{
int xs[] = { 2, 9, 10, 23, 37 };
for (int x : xs)
{
string t;
cout << x << ": ";
c(x, t);
cout << endl;
}
return 0;
}
I2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWF0aC5oPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZvaWQgYyhpbnQgeCxzdHJpbmcgcil7aW50IGksdD0wLHM9ci5zaXplKCk7aWYoczw4KXtpZihyWzBdPjQ4KXtmb3IoaT0wO2k8cztpKyspdCs9KHJbcy1pLTFdLTQ4KSoxPDxpO2lmKHQ9PXgpY291dDw8cjw8IiAiO31mb3IoY2hhciBuPTQ4O248NTE7bisrKWMoeCxyK24pO319CgppbnQgbWFpbigpCnsKCWludCB4c1tdID0geyAyLCA5LCAxMCwgMjMsIDM3IH07Cglmb3IgKGludCB4IDogeHMpCgl7CgkJc3RyaW5nIHQ7CgkJY291dCA8PCB4IDw8ICI6ICI7CgkJYyh4LCB0KTsKCSAgICBjb3V0IDw8IGVuZGw7Cgl9CglyZXR1cm4gMDsKfQo=