import java.util.*;

public class pp {
	
	static ArrayList<Integer> allPrimes;
	
	private static void createPrimes() {
		allPrimes = new ArrayList<Integer>();
		
		boolean[] temp = new boolean[46350];
		int top = 220;
		
		temp[0] = true;
		temp[1] = true;
		
		for (int i = 2; i < top; i ++) {
			if (temp[i]) {
				continue;
			}
			int j = i * 2;
			do {
				temp[j] = true;
				j += i;
			}
			while (j < temp.length);
		}
		
		for (int i = 0; i < temp.length; i++) {
			if (!temp[i]) {
				allPrimes.add(i);
			}
		}			
	}
	
	static boolean lzeRozlozit(int cislo, int[] myPrimes) {
		for (int prime : myPrimes)
		{
			while (cislo % prime == 0) {
				cislo /= prime;
			}
		}
		
		if (cislo == 1) return true;
		
		return false;
	}
	
	static void cancelNumbers(int fromNumber, int primeStart, TreeSet<Integer> set, int[] myPrimes, int a, int b) {
		for (int i = primeStart; i < myPrimes.length; i++)
			{				
				int number = fromNumber * myPrimes[i];
				while (number <= b)  {
					if (number >= a) set.add(number);
					cancelNumbers(number, i + 1, set, myPrimes,a, b);
					number *= myPrimes[i];
				}
			}
	}
	
	public static void main(String[] args)
	{
		Scanner sc = new Scanner(System.in);
		String line;
		
		//createPrimes();

				
		while (sc.hasNextLine())
		{
			int primeCount = sc.nextInt();
			
			if (primeCount == 0) return;
			
			sc.nextLine();
			
			int[] myPrimes = new int[primeCount];
			
			for (int i = 0; i < primeCount; i++)
			{
				myPrimes[i] = sc.nextInt();
			}
			
			sc.nextLine();
			int a= sc.nextInt();
			int b= sc.nextInt();
			sc.nextLine();
			
			TreeSet<Integer> set = new TreeSet<Integer>();
				/*
			int nejm = 0;
			for (int cislo = a; cislo <= b; cislo++) {
				if (!lzeRozlozit(cislo, myPrimes)) {
					continue;
				}
				nejm = cislo;
				break;
			}*/

			//set.add(nejm);
			/*
			if (nejm == 0) {
				System.out.println("none");
				continue;
			}*/
			
			if (a <= 1) set.add(1);
			
			cancelNumbers(1,0,  set, myPrimes,a, b);
			

			/*
			for (int i = a; i <= b; i++)
			{
				boolean ok = true;
				for (int j = 0; j < allPrimes.size() && allPrimes.get(j) <= b; j++) {
					
					if (i % allPrimes.get(j) == 0) {
						if (Arrays.binarySearch(myPrimes, allPrimes.get(j)) < 0) {
							ok = false;
							break;
						}
					}
					
				}
				if (ok) {
						res.add(i);
					}
			}*/
			/*
			ArrayList<Integer> res = new ArrayList<Integer>();
			for (int i = nejm; i <= b; i++) {
				if (!set.contains(i)) {
					res.add(i);
				}
			}*/
			
			Iterator<Integer> it = set.iterator();
			/*for (int i = 0; i < set.size(); i++) {
				System.out.print(it.next());
				if (i != set.size() - 1) {
					System.out.print(",");
				}
			}*/
			
			while (it.hasNext()) {
				System.out.print(it.next());
				if (it.hasNext()) {
					System.out.print(",");
				}
			}
			
			if (set.size() == 0) System.out.print("none");
			System.out.println();
						
			
		}

		
	}
}