use 5.010;
use strict;
use utf8;
use Encode qw/encode decode/;
use List::Util qw/shuffle/;

my $out = join " ", shuffle grep {
   length >= 3
} map {
   s/^\s+|\s+$//g; lc
} split /[\.\?,!]\s*|\n+/, decode("utf-8", join("", <>));
 
$out =~ s/(\w)(\ \w)/$1 . (rand > .80 ? (rand > .70 ? "." : ",") : "") . $2/ge;
$out =~ s/(^|\.\s*)(.)/$1 . uc $2/gme;
$out =~ s/\W*$/./;
 
say encode("utf-8", $out);