import Prelude hiding (head, null, tail, elem, filter, map)
max3 x y z = if x < z && y < z
then z
else if x < y && z <= y
then y
else x
max31 x y z
| x < z && y < z = z
| x < y && z <= y = y
| otherwise = x
max32 x y z = max (max x y) z
--head liste = take 1 liste
head [] = error "Empty list"
head (x:xs) = x
tail [] = []
tail (x:xs) = xs
null [] = True
null (x:xs) = False
f 1 = 3
f 2 = 4
f x = 5
g x y = x + y
g' (x,y) = x + y
einsen :: [Integer]
einsen = 1 : einsen
und True True = True
und a b = False
undList :: [Bool] -> Bool
undList [] = True
undList (x:xs)
| x = undList xs
| otherwise = False
elem t [] = False
elem t (x:xs) | x == t = True
| otherwise = elem t xs
--filter p xs = [x | x <- xs, p x]
filter p [] = []
filter p (x:xs)
| p x = x : filter p xs
| otherwise = filter p xs
map f [] = []
map f (x:xs) = f x : map f xs