Golf a string twister How strings are twisted

The twisting algorithm is very simple. Each column is shifted down by its index (col 0 moves down 0, col 1 moves 1, ...). The column shift wraps to the top. It works like this:

aaaa
bbbb
cccc


Becomes:

a
ba
cba
----
 cba
  cb
   c


With everything under the line wrapping to the top. Real example:

Original:
\\\\\\\\\\\\
............
............
............

Twisted:
\...\...\...
.\...\...\..
..\...\...\.
...\...\...\


Input

Input is either an array of strings, or a multi-line string. All lines have the same length.

Output

The twisted string, multi-line output to std-out (or closest alternative).

Examples:

(&gt; denotes input, trailing space is important)

&gt;Hello, world!
&gt;I am another 
&gt;string to be 
&gt;twisted!     

Hwrmoe oo br!
Ieii ,dttr e 
s lsna !ohl  
ttaltgnw  ed 


&gt;\\\\\\\\\\\\
&gt;............
&gt;............
&gt;............

\...\...\...
.\...\...\..
..\...\...\.
...\...\...\


&gt;abcdefg
&gt;.......

a.c.e.g
.b.d.f.


&gt;abcdefghij
&gt;..........
&gt;..........

a..d..g..j
.b..e..h..
..c..f..i.


&gt;\\\\.....././
&gt;...../.......
&gt;........././.
&gt;..../.^\\....

\.........../
.\....^..../.
..\../.\../..
...\/...\/...

&gt;cdeab
&gt;deabc
&gt;eabcd
&gt;abcde

cbbbb
ddccc
eeedd
aaaae


&gt;aeimquy37
&gt;bfjnrvz48
&gt;cgkosw159
&gt;dhlptx260

ahknqx147
beloru258
cfipsvy69
dgjmtwz30


&gt;abcdefghi
&gt;jklmnopqr
&gt;stuvwxyz1
&gt;234567890

a3ume7yqi
jb4vnf8zr
skc5wog91
2tld6xph0
Pyth, 11

jC.&gt;R~hZC.z


Try it here

jC.&gt;R~hZC.z    ##  implicit: .z = list of input split by lines
        C.z    ##  transpose .z to get columns
  .&gt;R~hZ       ##  shift each column by it's index
               ##  equivalent to .e.&gt;bk
jC             ##  transpose back and join by newlines