正の二乗が与えられた場合、自然数はプログラムに沿って水平方向と垂直方向のパスを見つけ、それらに沿った数の合計が最大になるようにします。水平パスは、最後に、最初の列から進み、各ステップのいずれかによって、その列の位置を増加しなければなりません。縦パスは、最後に、最初の行から進み、各ステップのいずれかによって、その行の位置を増加しなければなりません。さらに、水平経路の行位置は、垂直経路の場合と同様に、同じままであるか、いずれかの方向に1つずつ変化します。
説明のために、以下が有効なパスである可能性があります。

次のパスは逆方向に進むため無効になります(一部の場所では同じ行に残ります)。

次のパスは、1つのステップで行の位置を複数変更するため、同様に無効になります。

注:ソリューションは許容可能な時間内に実行する必要があります。
入力
n 個のスペースで区切られた正の整数を持つ入力のn行は、標準入力で与えられます。2≤ N ≤40各行は改行で終了されます。数値は十分に小さいため、最大合計は32ビット符号付き整数に収まります。
出力
単一のスペースで区切られた水平および垂直パスの(その順序での)最大合計。
サンプル入力1
1 2
1 2
サンプル出力1
3 4
サンプル入力2
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2 1 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 4 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 4 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 5 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
サンプル出力2
37 35
サンプル入力3
683 671 420 311 800 936
815 816 123 142 19 831
715 588 622 491 95 166
885 126 262 900 393 898
701 618 956 865 199 537
226 116 313 822 661 214
サンプル出力3
4650 4799
便宜上、プログラムを実行できるbash(Venteroに感謝)およびPowerShellでいくつかのテストケースを用意しました。呼び出しは:<test> <command line>なので、./test python paths.pyまたはのようなもの./test.ps1 paths.exeです。楽しんで :-)
bashテストスクリプトで+10 !私はすべてのコードゴルフがそのように付属したことを望みます。