医師は、ダレック軍から脱出しようとする際に、さまざまな空間のポケットを螺旋運動で移動することにより、彼らをスピンさせて送ることにしました。
利用可能な時空の性質に応じて、医師はTARDISに入る必要があり、空間のセクションの高さと幅、およびスパイラルを開始するための入口点を制御します。
空間のセクションは、左から右、上から下へ、1から始まる連続した整数で満たされたh x wグリッドとして想定できます。
開始位置は、行と列のrcとして提供されます...これから、TARDISのソフトウェアは、行r列cから上に向かって反時計回りに外側にらせん状になった整数の順序付きリストを吐き出す必要があります...
あなたの仕事は、医師の仲間として、TARDISをプログラムして4つの数字をフォーマットで取得しheight width row column、TARDISが移動する必要がある空間のセクターを決定することです。
入力1
5 5 3 3
(5、5グリッド、位置3,3から開始)
出力1
13 8 7 12 17 18 19 14 9 4 3 2 1 6 11 16 21 22 23 24 25 20 15 10 5
出力の説明
元のグリッド

生成されたスパイラル

入力2
2 4 1 2
(位置1,2から始まる2 x 4グリッド)
出力2
2 1 5 6 7 3 8 4
出力の説明
スパイラルがそれぞれの出力を生成するためにグリッドを一周する必要があるため、わずかに異なります...
元のグリッド

生成されたスパイラル

ルール:
これはコードゴルフなので、最短のコード長で承認されます。
上記の例を使用してコードをテストする必要があります。それぞれの出力が提供されない場合、何か問題があります...
答えにはゴルフバージョンとインゴルフバージョンの両方を提供する必要があります...
幸運を!