#include #include #include using namespace std; set vse; int n; int p[20]; int x, y; void ins(int _n, int _l) { //printf("ins: %d %d\n", _n, _l); if (_n >= x) vse.insert(_n); for (int i = _l; i < n; i++) { int cislo = _n * p[i]; if (cislo > y) break; ins(cislo, i); } } int main() { scanf("%d", &n); while (n > 0) { for (int i = 0; i < n; i++) scanf("%d", &p[i]); scanf("%d %d", &x, &y); /* //int bla[y-x+2]; int last = -1; for (int i = x; i <= y; i++) { int d = i; for (int j = 0; j < n; j++) { while (d % p[j] == 0) d /= p[j]; if (d == 1) break; } if (d == 1) { if (last > 0) printf("%d,", last); last = i; } } if (last > 0) printf("%d\n", last); else printf("none\n"); */ vse.clear(); ins(1, 0); bool f = false; for (set::iterator i = vse.begin(); i != vse.end(); ++i) { if (f) printf(","); printf("%d", *i); f = true; } if (!f) printf("none"); printf("\n"); scanf("%d", &n); } return 0; }