using System;
public class Program
{
    static void Main(string[] args)
    {
        var results = GenerateSieve(1000);
        var i=0;
        foreach (var item in results)
        {
            if(item) Console.Write(i + " ");
            i++;
        }
    }
 
    static bool[] GenerateSieve(int num)
    {
        // Creating an array indicating whether numbers are prime.
        bool[] isPrime = new bool[num + 1];
        for (int i = 2; i <= num; i++) isPrime[i] = true;
 
        // Removing out multiples.
        for (int i = 2; i <= num; i++)
        {
            // Check if i is prime.
            if (isPrime[i])
            {
                // Eliminate multiples of i.
                for (int j = i * 2; j <= num; j += i)
                    isPrime[j] = false;
            }
        }
        return isPrime;
    }
}
				dXNpbmcgU3lzdGVtOwpwdWJsaWMgY2xhc3MgUHJvZ3JhbQp7CiAgICBzdGF0aWMgdm9pZCBNYWluKHN0cmluZ1tdIGFyZ3MpCiAgICB7CiAgICAgICAgdmFyIHJlc3VsdHMgPSBHZW5lcmF0ZVNpZXZlKDEwMDApOwogICAgICAgIHZhciBpPTA7CiAgICAgICAgZm9yZWFjaCAodmFyIGl0ZW0gaW4gcmVzdWx0cykKICAgICAgICB7CiAgICAgICAgICAgIGlmKGl0ZW0pIENvbnNvbGUuV3JpdGUoaSArICIgIik7CiAgICAgICAgICAgIGkrKzsKICAgICAgICB9CiAgICB9CgogICAgc3RhdGljIGJvb2xbXSBHZW5lcmF0ZVNpZXZlKGludCBudW0pCiAgICB7CiAgICAgICAgLy8gQ3JlYXRpbmcgYW4gYXJyYXkgaW5kaWNhdGluZyB3aGV0aGVyIG51bWJlcnMgYXJlIHByaW1lLgogICAgICAgIGJvb2xbXSBpc1ByaW1lID0gbmV3IGJvb2xbbnVtICsgMV07CiAgICAgICAgZm9yIChpbnQgaSA9IDI7IGkgPD0gbnVtOyBpKyspIGlzUHJpbWVbaV0gPSB0cnVlOwogICAgICAgIAogICAgICAgIC8vIFJlbW92aW5nIG91dCBtdWx0aXBsZXMuCiAgICAgICAgZm9yIChpbnQgaSA9IDI7IGkgPD0gbnVtOyBpKyspCiAgICAgICAgewogICAgICAgICAgICAvLyBDaGVjayBpZiBpIGlzIHByaW1lLgogICAgICAgICAgICBpZiAoaXNQcmltZVtpXSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgLy8gRWxpbWluYXRlIG11bHRpcGxlcyBvZiBpLgogICAgICAgICAgICAgICAgZm9yIChpbnQgaiA9IGkgKiAyOyBqIDw9IG51bTsgaiArPSBpKQogICAgICAgICAgICAgICAgICAgIGlzUHJpbWVbal0gPSBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gaXNQcmltZTsKICAgIH0KfQ==