Stax, 12 14 14 13 bytes
ü÷╛╣┐ù▐L╘2t*à÷àJ├∙ε╝F▀ÿi☻Ia
Run and debug itRun and debug it
Explanation:
vsc{%1>fr$r+@]|u%vfr$r+@]|u Full program, unpacked, implicit input
vs Decrement the number and get the list
c{ f Copy and filter:
%1>%v Length greaternot thanequal to 1?
r$r Reverse, flatten, and reverse again
+ Concat orig array and and modified array
@]|u Index, wrap into array, uneval
Stax, 12 bytes
Å{b≈\☼╣Δ@░ ‼
Unpacked:
{vsc{%vfr$r+@}
This is a block, so I can get rid of the ]|u
, but I don't know if this is valid as it's packing a block.