diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..6daa49cbff9de43870434075e74014ce3fc24bc7
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+a.out
+*.pyc
diff --git a/prime.c b/prime.c
new file mode 100644
index 0000000000000000000000000000000000000000..1ae7925f531c8efb478882dd1053b11512c88cf4
--- /dev/null
+++ b/prime.c
@@ -0,0 +1,26 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+
+int isPrime(unsigned long x)
+{
+    if (sqrt(x) - (unsigned long)sqrt(x) == 0)
+        return 0;
+    for (unsigned long i = 2; i < ceil(sqrt(x)); i++)
+        if (x % i == 0)
+            return 0;
+    return 1;
+}
+
+int main( int argc, char** argv)
+{
+    unsigned long max = atol(argv[1]);
+    unsigned long *a = malloc(sizeof(unsigned long) * max);
+    unsigned long x = 2;
+    for (unsigned long i = 0; i < max; x++)
+        if (isPrime(x))
+            a[i++] = x;
+    for (unsigned long i = 0; i < max; i++)
+        printf("%lu\n", (unsigned long)a[i]);
+    return 0;
+}
diff --git a/prime.lua b/prime.lua
new file mode 100755
index 0000000000000000000000000000000000000000..0b222467141257ab1c7b2b64453911e1e5f357d7
--- /dev/null
+++ b/prime.lua
@@ -0,0 +1,25 @@
+#!/usr/bin/env lua
+function isPrime (x)
+    -- Here will be a for loop
+    if math.sqrt(x) % 1 == 0 then
+        return false
+    end
+    for i = 2, math.sqrt(x) do
+        if x % i == 0 then
+            return false
+        end
+    end
+    return true;
+end
+
+primes = {}
+i = 0
+while (#primes < tonumber(arg[1])) do
+    if isPrime(i) then
+        table.insert(primes, i)
+    end
+    i = i + 1
+end
+for key, value in pairs(primes) do
+    print(value)
+end
diff --git a/prime.py b/prime.py
new file mode 100755
index 0000000000000000000000000000000000000000..a15d9e1cf0bf3b66e9f614d29515bfd6fba168dc
--- /dev/null
+++ b/prime.py
@@ -0,0 +1,19 @@
+#!/usr/bin/env python3
+def is_prime (x):
+    from math import sqrt, ceil
+    if sqrt(x).is_integer():
+        return False
+    for i in range(2, ceil(sqrt(x))):
+        if x%i == 0:
+            return False
+    return True
+
+if __name__ == '__main__':
+    from sys import argv
+    primes = []
+    i = 0
+    while len(primes) < int(argv[1]):
+        if is_prime(i):
+            primes.append(i)
+        i += 1
+    print(primes)