1. Napište funkci seq235 :: [Int], která vrátí sekvenci všech rostoucích čísel tvaru 2i3j5k. Pár prvních prvků je1, 2, 3, 4, 5, 6, 8, .... Plný počet bodů jenom za řešení, které potřebuje konstantní čas k nalezení dalšího prvku posloupnosti. 2. Napište fci maximum pomocí funkce foldl/foldr foldl :: (a -> b -> a) -> a -> [b] -> a foldr :: (a -> b -> b) -> b -> [a] -> b 3. napište datový typ pro reprezentaci klasických mariášových karet a naimplementujte fci stych:: Karta ->Karta->Karta->Karta, která určí vítěze štychu v Mariáši. Pro jednoduchost předpokládejte, že trumfy jsou srdce 4. Napište funkci ssum :: Int -> [Int] -> Maybe [Int], která zjistí, ze v daném seznamu nachází souvislý úsek daného součtu. Pokud ano, vraťte ho. Plný počet bodů za složitost ?(N log N). 5. Vytvořte funkci clen :: [Int]-> Int, která dostane nekonečnou sekvenci. Tato sekvence má následující vlastnost: pokud za prvkem a jednou následoval prvek b, za každým prvkem a následuje prvek b. Jinak řečeno, prvek je vždy jednoznačně určen předchozím.Protože je sekvence nekonečná a int ne, musí být od nějaké doby periodická. Vaším úkolem je pomocí konstantní paměti spočítat délku této periody. Příklad: délka periody sekvence {1; 2; 3; 4; 3; 4; 3; ... } je 2 6. Napište funkci balanced : [Bool] -> [Bool], která dostane seznam boolů a vrátí nejdelší souvislou podposloupnost, ve kterých je stejně hodnot True i False. 7. Napište fci palindrom::String->Bool, která rozhodne, zda je zadaný vstup palindromem