sorti = ->a {a.map.with_index.sort.map(&:last)}
f = ->a {sorti.call sorti.call a}
g = ->a {p f.(a)}
g.([1,100,10,10000,1000])
g.([3,1,4,1,5,9,2])
g.([0,1,0,1,0,1,0,1])
c29ydGkgPSAtPmEge2EubWFwLndpdGhfaW5kZXguc29ydC5tYXAoJjpsYXN0KX0KZiA9IC0+YSB7c29ydGkuY2FsbCBzb3J0aS5jYWxsIGF9CmcgPSAtPmEge3AgZi4oYSl9CmcuKFsxLDEwMCwxMCwxMDAwMCwxMDAwXSkKZy4oWzMsMSw0LDEsNSw5LDJdKQpnLihbMCwxLDAsMSwwLDEsMCwxXSk=
[0, 2, 1, 4, 3]
[3, 0, 4, 1, 5, 6, 2]
[0, 4, 1, 5, 2, 6, 3, 7]