#!/usr/bin/perl

use warnings;
use strict;

$\ = $/;

$_ = <>, chomp;
my @sen = map { s/^\s+|\s+$//gr } map { split m/[.]\K\s+(?=[A-Z0-9])/ } split m/[!?]\K/;
my %H;
for my $sen (@sen){
    while( $sen =~ m/\w+/g ){
        $H{ $sen }{ lc $& } = 1;
    }
}

<>;

while(<>){
	chomp;
	m/\w/ or next;
	my( @words ) = map lc, m/\w+/g;
	my @found;
	for my $sen (keys %H){
        my $f = 0;
        for my $w (@words){
            $H{ $sen }{ $w } or $f = 1;
        }
        $f or push @found, $sen;
	}
	print "Search results for \"$_\":";
	print "- \"$_\"" for @found;
}