import System.Random
import Data.List
randomDbls
:: StdGen
-> [ Double ]randomDbls= randomRs (0,1)
chooseItem is ws r = let
folder a b
= a :
map ( + a
) b
selecter r ( i, ( f, t ) ) = f <= r && r < t
fs = 0 : ts
main = do
rds
<- ( return . randomDbls
) =<< getStdGen
print $ map (chooseItem
['A'..'C' ] [0.4,0.5,0.1] ) $ take 100 rds
aW1wb3J0IFN5c3RlbS5SYW5kb20KaW1wb3J0IERhdGEuTGlzdAoKcmFuZG9tRGJscyA6OiBTdGRHZW4gLT4gWyBEb3VibGUgXQpyYW5kb21EYmxzPSByYW5kb21ScyAoMCwxKQoKY2hvb3NlSXRlbSBpcyB3cyByID0gbGV0IAogICAgZm9sZGVyIGEgYiA9IGEgOiBtYXAgKCArIGEgKSBiCiAgICBzZWxlY3RlciAgciAoIGksICggZiwgdCApICkgPSBmIDw9IHIgJiYgciA8IHQKICAgIHRzID0gZm9sZHIgZm9sZGVyIFsgXSB3cyAKICAgIGZzID0gMCA6IHRzCiAgICBpZnRzID0gemlwIGlzICQgemlwIGZzIHRzCiAgICBpbiBmc3QgJCBoZWFkICQgZmlsdGVyICggc2VsZWN0ZXIgciApIGlmdHMgCiAgICAKbWFpbiA9IGRvCiAgICByZHMgPC0gKCByZXR1cm4gLiByYW5kb21EYmxzICkgPTw8IGdldFN0ZEdlbiAKICAgIHByaW50ICQgbWFwIChjaG9vc2VJdGVtIFsnQScuLidDJyBdIFswLjQsMC41LDAuMV0gKSAkIHRha2UgMTAwIHJkcw==