#!/usr/bin/perl
use 5.016;
use warnings;

sub f {
	return sub{
		$_[0], map{ $_[ $_ - ($_[$_ - 1] gt $_[$_]) ], $_[$_] } (1 .. $#_)
	}->(split //, shift);
}

say f("Personal");
say f("Hello, world!");
