#include using namespace std; #define rep(i,n) for(int i=0;i dx = {0,1,0,-1} , dy = {1,0,-1,0}; //chmin , chmax template bool chmin(T &a , T b){ if(a > b){a = b ; return 1;} return 0; } template bool chmax(T &a , T b){ if(a < b){a = b ; return 1;} return 0; } //io template std::istream& operator>>(std::istream& is , pair &p){ is >> p.first >> p.second; return is; } template std::ostream& operator<<(std::ostream& os , const pair &p){ os << " [" << p.first << " : " << p.second << "] "; return os; } //vio template void printv(vector &v){ rep(i,(int)v.size()){ cout< void printvv(vector> &vv){rep(i,(int)vv.size()) printv(vv[i]);} template void printve(vector &v){ rep(i,(int)v.size()){ cerr< void printvve(vector> &vv){rep(i,(int)vv.size()) printve(vv[i]);} template void vin(vector &v){for(auto &vi : v) cin>>vi;} template void vvin(vector> &vv){for(auto &vvi : vv) vin(vvi);} int main(){cin.tie(0);ios::sync_with_stdio(0); //sum = lcmを作る //完全数 //64 * 127 //d d d d dってやってったらそれ自身になる。 //8128 * 2 vector dpow = {1,2,4,8,16,32,64,128}; vector p1 = {1,127}; vector ans; for(auto di : dpow) for(auto p1i : p1) ans.push_back(di * p1i); ans.pop_back(); int sum = 0; int LCM = 1; for(auto ansi : ans){ sum += ansi; LCM *= ansi / gcd(LCM , ansi); } //cout << sum << " " << LCM << endl; cout << ans.size() << endl; //cout << 1 << " "; for(auto ansi : ans) cout << ansi <<" "; cout << endl; }