UVA136




import java.util.HashSet;
import java.util.PriorityQueue;
import java.util.Set;

public class Main{

  public static void main(String[] args) {

   PriorityQueue<Long> pq = new PriorityQueue<Long>();

   int[] store = new int[] { 2, 3, 5 };

   Set st = new HashSet();

   pq.offer((long) 1);

  st.add(1);

   for (int i = 1;; i++) {

   long num = pq.peek();

   pq.poll();

   if (i == 1500) {
    System.out.println("The 1500'th ugly number is "+num+".");
    break;
   }

    for (int s = 0; s < 3; s++) {

    long temp = num * store[s];

    if(!st.contains(temp))
    {
     pq.offer(temp);

     st.add(temp);
    }
   }
  }
 }
}