diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000000..26d33521af
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/.idea/geometric_lib.iml b/.idea/geometric_lib.iml
new file mode 100644
index 0000000000..d8b3f6cbf0
--- /dev/null
+++ b/.idea/geometric_lib.iml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000000..105ce2da2d
--- /dev/null
+++ b/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000000..1d3ce46ba0
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000000..5c0675083d
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000000..35eb1ddfbb
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/rectangle.py b/rectangle.py
new file mode 100644
index 0000000000..2edbbf5cf3
--- /dev/null
+++ b/rectangle.py
@@ -0,0 +1,5 @@
+def area(a, b):
+ return a * b
+
+def perimeter(a, b):
+ return 2* (a + b)
\ No newline at end of file
diff --git a/triangle.py b/triangle.py
new file mode 100644
index 0000000000..2e1c3fdcdb
--- /dev/null
+++ b/triangle.py
@@ -0,0 +1,5 @@
+def area(a, h):
+ return a * h / 2
+
+def perimeter(a, b, c):
+ return a + b + c
\ No newline at end of file