Simpleish JS
\n\nvar spiralMatrixIII = function(R, C, r0, c0) {\n    var totalTile = R * C\n    var amount    = 1\n    var output    = [[ r0, c0 ]]\n    var place     = [ r0
```\n\nvar spiralMatrixIII = function(R, C, r0, c0) {\n    var totalTile = R * C\n    var amount    = 1\n    var output    = [[ r0, c0 ]]\n    var place     = [ r0, c0 ]\n    var direction = directions[0]\n    \n    while ( output.length < totalTile ) {\n        walk( place, amount | 0, direction, output, R, C )\n        amount += .5\n        direction = directions[ ( directions.indexOf( direction ) + 1 ) % 4 ]\n    }\n    \n    return output\n}\n\nconst directions = [\n    [ 0, 1 ], // east\n    [ 1, 0 ], // south\n    [ 0, -1 ], // west\n    [ -1, 0 ], // north\n]\n    \nconst walk = ( place, amount, direction, output, R, C ) => {\n    while ( amount ) {\n        place[0] += direction[0]\n        place[1] += direction[1]\n\n        if ( isInGrid( place[0], place[1], R, C ) )\n            output.push([ place[0], place[1] ])\n        \n        amount--\n    }\n}\n\nconst isInGrid = ( r, c, R, C ) => 0 <= r && 0 <= c && r < R && c < C\n\n```
['JavaScript']