diff --git a/Haskell/3.hs b/Haskell/3.hs
new file mode 100644
index 0000000..041aa34
--- /dev/null
+++ b/Haskell/3.hs
@@ -0,0 +1,33 @@
+f :: Num a => a -> a -> a
+f a b = (+) a b
+
+in_r :: Int -> Int -> Int -> Bool
+in_r min max x = x >= min && x <= max
+
+g = (>) 5
+
+in_rr min max x =
+	let
+		l = x >= min
+		h = x <= max
+	in l && h
+
+
+in_rr2 min max x = l && h
+	where
+		l = x >= min
+		h = x <= max
+
+recf n acc
+	| n <= 1 = acc
+	| otherwise = recf (n-1) * (n * acc)
+
+factr n = f n 1
+	where
+		f n acc
+			| n <= 1 = acc
+			| otherwise = f (n-1) (n * acc)
+
+-- fact 3 =
+-- 	| n <= 1 = 1
+-- 	| True = n * fac2 (n - 1)