import Data.List
add
:: Eq a
=> a
-> [(a
, Int)] -> [(a
, Int)]add x [] = [(x, 1)]
add x ((y, n):rest) = if x == y
then (y, n+1) : rest
else (y, n) : add x rest
count
:: Eq a
=> [a
] -> [(a
, Int)]count
= sortBy f
. foldr add
[] where
main
= print $ count
"Hello"
aW1wb3J0IERhdGEuTGlzdAoKYWRkIDo6IEVxIGEgPT4gYSAtPiBbKGEsIEludCldIC0+IFsoYSwgSW50KV0KYWRkIHggW10gPSBbKHgsIDEpXQphZGQgeCAoKHksIG4pOnJlc3QpID0gaWYgeCA9PSB5Cgl0aGVuICh5LCBuKzEpIDogcmVzdAoJZWxzZSAoeSwgbikgOiBhZGQgeCByZXN0Cgpjb3VudCA6OiBFcSBhID0+IFthXSAtPiBbKGEsIEludCldCmNvdW50ID0gc29ydEJ5IGYgLiBmb2xkciBhZGQgW10gd2hlcmUKCWYgKF8sIHgpIChfLCB5KSA9IGNvbXBhcmUgeSB4CgptYWluID0gcHJpbnQgJCBjb3VudCAiSGVsbG8i