let rec tenN n =
if n = 0 then 1
else 10 * tenN (n - 1)
let champ =
seq {
for i in 0 .. 999999 do
if i < 10 then
yield i
elif i < 100 then
yield i / 10
yield i % 10
elif i < 1000 then
yield i / 100
yield i / 10 % 10
elif i < 10000 then
yield i / 1000
yield i / 100 % 10
elif i < 100000 then
yield i / 10000
yield i / 1000 % 10
elif i < 1000000 then
yield i / 100000
yield i / 10000 % 10
}
[ 1; 10; 100; 1000; 10000; 100000; 1000000 ]
|> List.map (fun n -> Seq.nth n champ)
|> List.fold (*) 1
|> printfn "%A"