my %h; for my $x ( 1..9 ) { for my $y ( $x+1..9 ) { for my $z ( $y+1..9 ) { my @a= ( $x, $y, $z ); my @p; do { push @p, join "", @a; } while( nextPermute(@a) ); for my $i ( 0..$#p ) { for my $j ( $i+1..$#p ) { for my $k ( $j+1..$#p ) { $h{$p[$i]+$p[$j]+$p[$k]} .= "=$p[$i]+$p[$j]+$p[$k]"; } } } } } } for my $k ( 1990 .. 2010 ) { print "$k=$h{$k}\n" if exists $h{$k}; }