> * 与えられた二つのリスト以外のリストを使ってはならない
答えのリストが作れねーのですけど。

# Ocaml
let f al bl =
let rec g al bl =
match al with
| [] -> ( [], bl )
| a1::al ->
match g al bl with
| _, [] -> failwith "hoge"
| pl, b1::bl -> ( (a1,b1)::pl, bl )
in
fst (g al bl)

ってこと?