Prolog の sub_atom/5 だけで処理するのはだめかな。