import java.io.*;
import java.lang.*;
import java.util.*;

public class pp {

  static StreamTokenizer tokenizer;

  static long nextInt() throws IOException {
    
    while (tokenizer.nextToken()!=StreamTokenizer.TT_NUMBER) {	
     
    }
    return (long)tokenizer.nval;

  }

  static SortedSet<Integer> done = new TreeSet<Integer>();
  static SortedSet<Integer> todo = new TreeSet<Integer>();

  public static void main(String[] args) throws IOException {

    tokenizer = new StreamTokenizer(new InputStreamReader(System.in));
    
    long n;
    while ((n = nextInt())!=0) {
    
       todo.clear();
      firstNumber = true;

       for (long i = 0; i < n; i++) {
	  todo.add((int)nextInt());
       }
            
       long min = nextInt();
       long max = nextInt();
        
       while (!todo.isEmpty()) {
	  int first = todo.first();
	  while (!todo.isEmpty()) {
	    int second = todo.first();
	    long mul = first*second;
	    if (mul<=max) { 
	      todo.add((int)mul);
	    }
	    todo.remove(second);
	    done.add(second);
	  }
	  todo = done;
	  done = new TreeSet<Integer>();
	  todo.remove(first);
	  if (min<=first) {
	      sout(first, min);
	  }
       }
   
        
      if (firstNumber) {
	System.out.print("none");
      }

      System.out.println();
      

//      System.out.println(Arrays.toString(params));

    }

  }

  static boolean firstNumber = true;

  static void sout(int number, long min) {
      if (firstNumber) {
	firstNumber = false;
        if (min == 1) {
	  System.out.print("1,");
	}
	System.out.print("" + number);
      } else {
	System.out.print("," + number);
      }
    
  }

  public static int toInt(String text) {
    return Integer.parseInt(text);
  }

  public static int[] toInts(String[] texts) {
      int[] nums = new int[texts.length];
      for (int i = 0; i<texts.length; i++) {
	nums[i] = toInt(texts[i]);
      }
    return nums;
  }


}