map { $i = 0 ; $A[$i++] .= $& while /.{5,6}/g } <DATA>;		# create array "A" from DATA
unshift @A, pop @A;		# rotate 'zero' to beginning
splice @A, 8, 1, ();	# delete '+' as 8th element
$A[0] =~ s/.{5}\K/./g;	# right-add '.' to 'zero'

map { $i = 0 ; $B[$i++] .= $& while /.{6}/g }	# create array "B" from input
	map { chomp; $_ .= "." } <STDIN>;				# add '.' to input lines

for $B (@B){
	$i = 0;
	undef $num;
	for $A (@A){
		$B eq $A and do { $num = $i ; last };
		$i ++;
		}
	push @num, $num // '+'
	}

# eval expression, split and make the final array "ANS":
for ( split //, eval join '', @num ){
	$i = 0;
	$ANS[ $i++] .= $& while $A[$_] =~ /.{6}/g;
	}

print map s/.$/\n/r, @ANS;	# remove trailing points and then print

__DATA__
....x.xxxxx.xxxxx.x...x.xxxxx.xxxxx.xxxxx.......xxxxx.xxxxx.xxxxx
....x.....x.....x.x...x.x.....x.........x...x...x...x.x...x.x...x
....x.....x.....x.x...x.x.....x.........x...x...x...x.x...x.x...x
....x.xxxxx.xxxxx.xxxxx.xxxxx.xxxxx.....x.xxxxx.xxxxx.xxxxx.x...x
....x.x.........x.....x.....x.x...x.....x...x...x...x.....x.x...x
....x.x.........x.....x.....x.x...x.....x...x...x...x.....x.x...x
....x.xxxxx.xxxxx.....x.xxxxx.xxxxx.....x.......xxxxx.xxxxx.xxxxx