Interleaving reversing Given a string, reverse it interleavingly. Here's how to do it for abcdefghi and abcdefghij, 0-indexed:


Separate the chars at even indices from the chars at odd indices:a c e g i
&#32;b d f h
a c e g i
&#32;b d f h j
Reverse the chars at odd indices:a c e g i
&#32;h f d b
a c e g i
&#32;j h f d b
Interleave into one string again:ahcfedgbi
ajchefgdib


Rules


You must support both even-length and odd-length strings.
0-index-wise, you must reverse the chars at odd indices, not even.
1-index-wise, of course, you must reverse the chars at even indices, not odd.
Input will consist of printable ASCII (code points 32-126), no newlines.
You can take input either as a string or as a list of chars (NOT 1-char strings). E.g. String/char[] or char* are allowed, but String[]/char[][] or char** aren't.


Test cases

Input
Output


&#9;

Hello, World!
HdlroW ,olle!

Hello World!
H!llooW rlde

ABCDEFGHIJKLMNOPQRSTUVWXYZ
AZCXEVGTIRKPMNOLQJSHUFWDYB

 !"#$%&amp;'()*+,-./0123456789:;&lt;=&gt;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
 }"{$y&amp;w(u*s,q.o0m2k4i6g8e:c&lt;a&gt;_@]B[DYFWHUJSLQNOPMRKTIVGXEZC\A^?`=b;d9f7h5j3l1n/p-r+t)v'x%z#|!~

P
P

AB
AB

xyz
xyz


For the empty string, return the empty string itself.
MATL, 8 bytes
t2L)P5M(

Try it online! Or verify all test cases.
Explanation
t     % Implicit input. Duplicate
      % STACK: 'abcdefghi', 'abcdefghi'
2L    % Push [2, 2, 1j]. This represents 2:2:end when used as an index
      % STACK: 'abcdefghi', 'abcdefghi', [2, 2, 1j]
)     % Get entries at those indices
      % STACK: 'abcdefghi', 'bdfh'
P     % Flip
      % STACK: 'abcdefghi', 'hfdb'
5M    % Push [2, 2, 1j] again
      % STACK: 'abcdefghi', 'hfdb', [2, 2, 1j]
(     % Write entries at those indices. Implicit display
      % STACK: 'ahcfedgbi'