つりあわない男女

さて、今回もawkでパズルを解いてみます。
perlでやろうと思ったのですが、出来なかったので、awkに戻ってきてしまいました。(^^)/

あるイベント会場に男女が集まてきました。
到着した順番に1列に並んで、入場を待っています。
イベントの主催者であるあなたは、ある位置で区切って2つのグループに分けたいと思っています。
男性20人、女性10人が到着した場合、どこで区切っても2つのグループのいずれも男女の数が異なって
しまうような到着順が何通りあるか求めてください

コツは男女が同数になる場所をカウントしないということです。

#!usr/bin/awk -f

BEGIN{
    boy = 20;
    girl = 10;
    boy++;
    girl++;
    ary[0][0] = 1;
    for(i = 0; i < girl; i++){
        for(j = 0; j < boy; j++){
            if((i != j) && (boy - j != girl -i)){    # 男女が同数でなければ
                if(j > 0){
                ary[i][j] += ary[i][j - 1];
                }
                if(i > 0){
                    ary[i][j]+= ary[i - 1][j];
                }
            }
        }
    }
    print (ary[girl - 2][boy - 1] + ary[girl - 1][boy - 2]);
}
 awk -f q09.awk
2417416