#!/usr/bin/env perl
my %twin = (
')' => '(',
'}' => '{',
);
COLLECT:
while (<>) {
my ($max, @stack) = 0;
for my $char ( split // ) { if ( $char =~ / [({] /x ) {
( $max < 1+ $#stack ) && ( $max = 1+ $#stack );
}
elsif ( $char =~ / [)}] /x ) {
unless ( pop @stack eq $twin{$char} ) { next COLLECT;
}
}
}
}
IyEvdXNyL2Jpbi9lbnYgcGVybApteSAldHdpbiA9ICgKICAgICcpJyA9PiAnKCcsCiAgICAnfScgPT4gJ3snLAopOwoKQ09MTEVDVDoKd2hpbGUgKDw+KSB7CiAgICBteSAoJG1heCwgQHN0YWNrKSA9IDA7CiAgICBmb3IgbXkgJGNoYXIgKCBzcGxpdCAvLyApIHsKICAgICAgICBpZiAoICRjaGFyID1+IC8gWyh7XSAveCApIHsKICAgICAgICAgICAgcHVzaCBAc3RhY2ssICRjaGFyOwogICAgICAgICAgICAoICRtYXggPCAxKyAkI3N0YWNrICkgJiYgKCAkbWF4ID0gMSsgJCNzdGFjayApOwogICAgICAgIH0KICAgICAgICBlbHNpZiAoICRjaGFyID1+IC8gWyl9XSAveCApIHsKICAgICAgICAgICAgdW5sZXNzICggcG9wIEBzdGFjayBlcSAkdHdpbnskY2hhcn0gKSB7CiAgICAgICAgICAgICAgICBwcmludCAiLTFcbiI7CiAgICAgICAgICAgICAgICBuZXh0IENPTExFQ1Q7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBwcmludCAiJG1heFxuIjsKfQ==