proc snail(xss: seq[seq[int]]): seq[int] = let h = len(xss) if h == 0: return @[] let w = len(xss[0]) if h == 0: return @[] let max = if h > w: h else: w var v: seq[int] = @[] for b in 0..(max div 2): let ex = w - b - 1; let ey = h - b - 1; for c in b..ex: v.add(xss[b][c]) for r in b+1..ey: v.add(xss[r][ex]) if ex == b or ey == b: return v for o in b..