#include #include #include #include #include #include typedef long long ll; using namespace std; vector P; vector vysledok; ll N,X,Y; void vyrataj(ll sucin, int p) { // printf("sucin: %lld, p: %d P[p]: %d\n", sucin, p, P[p]); // printf("este sa tam zmesti: %lld\n", (ll)floor((log(Y/sucin)/log(P[p])))); // printf("Y: %d \n", (ll)floor(Y/(log(Y)/log(P[p])))); if (sucin<=Y && sucin>=X) vysledok.push_back(sucin); if (sucin>Y || p<0) {/*printf("koniec vetvy\n");*/ return;} for (int i=0; i<=floor(log(Y/sucin)/log(P[p])); i++) vyrataj((ll)(sucin*pow((double)P[p],i)), p-1); } int main() { scanf("%d\n",&N); while (N) { P.resize(N); vysledok.clear(); for (int i=0;i::iterator it = unique(vysledok.begin(), vysledok.end()); if (vysledok.size()) { for (vector::iterator i=vysledok.begin();i+1 != it; i++) printf("%d,",*i); printf("%d\n", *(it-1)); } else printf("none\n"); // return 0; scanf("%d\n",&N); } return 0; }