import java.util.Iterator;

final class Ideone {

  private static Iterable<Integer> primes(final int n) {
    final boolean[] composite = new boolean[n+1];
    for (int i = 2; i <= n; ++i) {
      if (!composite[i]) {
        for (int j = i * i; j <= n; j += i) {
          composite[j] = true;
        }
      }
    }
    return new Iterable<Integer>() {
  
      public Iterator<Integer> iterator() {
        return new Iterator<Integer>() {
          int cur = 1;
          
          public Integer next() {
            while (cur <= n && composite[cur++]) ;
            return cur - 1;
          }
          
          public boolean hasNext() {
          	int p = cur;
          	while (p <= n && composite[p++]) ;
          	return p <= n;
          }
        };
      }
    };
  }	
  
  public static void main(final String[] argv) {
    for (final int p : primes(100)) {
    	System.out.println(p);
    }
  }
}