var
al: char ;
ab, bb, ac: string ;
ar: array [ 1 .. 100 , 1 .. 100 ] of char ;
s, r, z, i, j, k: integer ;
aaa: boolean ;
procedure f( x, y: integer ; ab: string ) ;
var
i: longint ;
begin
if r- y+ 1 >= k then
begin
ac: = ab;
for i: = y+ 1 to y+ k- 1 do
begin
ac: = ac+ ar[ x, i] ;
end ;
if ac= bb then aaa: = true ;
end ;
if s- x+ 1 >= k then
begin
ac: = ab;
for i: = x+ 1 to x+ k- 1 do
begin
ac: = ac+ ar[ i, y] ;
end ;
if bb= ac then aaa: = true ;
end ;
if y>= k then
begin
ac: = ab;
for i: = y- 1 downto y- k+ 1 do
begin
ac: = ac+ ar[ x, i]
end ;
if bb= ac then aaa: = true ;
end ;
if x>= k then
begin
ac: = ab;
for i: = x- 1 downto x- k+ 1 do
begin
ac: = ac+ ar[ i, y] ;
end ;
if bb= ac then aaa: = true ;
end ;
if ( r- y+ 1 >= k) and ( s- x+ 1 >= k) then
begin
ac: = bb;
for i: = 1 to k- 1 do
begin
ac: = ac+ ar[ x+ i, y+ i] ;
end ;
if ac= bb then aaa: = true ;
end ;
if ( y>= k) and ( x>= k) then
begin
ac: = bb;
for i: = 1 to k- 1 do
begin
ac: = ac+ ar[ x- i, y- i] ;
end ;
if ac= bb then aaa: = true ;
end ;
if ( s- x+ 1 >= k) and ( y>= k) then
begin
ac: = bb;
for i: = 1 to k- 1 do
begin
ac: = ac+ ar[ x+ i, y- i] ;
end ;
if ac= bb then aaa: = true ;
end ;
if ( x>= k) and ( r- y+ 1 >= k) then
begin
ac: = bb;
for i: = 1 to k- 1 do
begin
ac: = ac+ ar[ x- i, y+ 1 ] ;
end ;
if ac= bb then aaa: = true ;
end ;
end ;
begin
readln ( s, r) ;
for i: = 1 to s do
begin
for j: = 1 to r do
begin
read ( ar[ i, j] ) ;
if j<>r then read ( al) ;
end ;
readln ;
end ;
readln ( z) ;
for i: = 1 to z do
begin
readln ( bb) ;
k: = length( bb) ;
ab: = bb[ 1 ] ;
aaa: = false ;
for j: = 1 to s do
begin
for i: = 1 to r do
begin
if ab= ar[ i, j] then
begin
f( i, j, ab) ;
end ;
end ;
end ;
if aaa= true then
writeln ( bb, ' ' , 'T' ) ;
end ;
readln ;
end .
dmFyCmFsOmNoYXI7CmFiLGJiLGFjOnN0cmluZzsKYXI6YXJyYXlbMS4uMTAwLDEuLjEwMF0gb2YgY2hhcjsKcyxyLHosaSxqLGs6aW50ZWdlcjsKYWFhOmJvb2xlYW47CnByb2NlZHVyZSBmKHgseTppbnRlZ2VyO2FiOnN0cmluZyk7CnZhcgppOmxvbmdpbnQ7CmJlZ2luCmlmIHIteSsxPj1rIHRoZW4KICAgYmVnaW4KICAgICBhYzo9YWI7CiAgICAgZm9yIGk6PXkrMSB0byB5K2stMSBkbwogICAgICAgIGJlZ2luCiAgICAgICAgIGFjOj1hYythclt4LGldOwogICAgICAgIGVuZDsKICAgICBpZiBhYz1iYiB0aGVuIGFhYTo9dHJ1ZTsKICAgZW5kOwoKaWYgcy14KzE+PWsgdGhlbgogICBiZWdpbgogICAgIGFjOj1hYjsKICAgICBmb3IgaTo9eCsxIHRvIHgray0xIGRvCiAgICAgICAgYmVnaW4KICAgICAgICAgYWM6PWFjK2FyW2kseV07CiAgICAgICAgZW5kOwogICAgIGlmIGJiPWFjIHRoZW4gYWFhOj10cnVlOwogICBlbmQ7CgppZiB5Pj1rIHRoZW4KICAgYmVnaW4KICAgICBhYzo9YWI7CiAgICAgZm9yIGk6PXktMSBkb3dudG8geS1rKzEgZG8KICAgICAgIGJlZ2luCiAgICAgICAgYWM6PWFjK2FyW3gsaV0KICAgICAgIGVuZDsKICAgICBpZiBiYj1hYyB0aGVuIGFhYTo9dHJ1ZTsKICAgZW5kOwoKaWYgeD49ayB0aGVuCiAgIGJlZ2luCiAgICAgIGFjOj1hYjsKICAgICAgZm9yIGk6PXgtMSBkb3dudG8geC1rKzEgZG8KICAgICAgICAgYmVnaW4KICAgICAgICAgICBhYzo9YWMrYXJbaSx5XTsKICAgICAgICAgZW5kOwogICAgICBpZiBiYj1hYyB0aGVuIGFhYTo9dHJ1ZTsKICAgZW5kOwppZiAoci15KzE+PWspIGFuZCAocy14KzE+PWspIHRoZW4KICBiZWdpbgogICAgYWM6PWJiOwogICAgZm9yIGk6PTEgdG8gay0xIGRvCiAgICAgICBiZWdpbgogICAgICAgICBhYzo9YWMrYXJbeCtpLHkraV07CiAgICAgICBlbmQ7IAogICAgaWYgYWM9YmIgdGhlbiBhYWE6PXRydWU7CiAgZW5kOwoKaWYgKHk+PWspIGFuZCAoeD49aykgdGhlbgogIGJlZ2luCiAgIGFjOj1iYjsKICAgZm9yIGk6PTEgdG8gay0xIGRvCiAgICBiZWdpbgogICAgICBhYzo9YWMrYXJbeC1pLHktaV07CiAgICBlbmQ7CiAgIGlmIGFjPWJiIHRoZW4gYWFhOj10cnVlOwogIGVuZDsKaWYgKHMteCsxPj1rKSBhbmQgKHk+PWspIHRoZW4KIGJlZ2luICAgICAgICAgICAgICAgICAKICAgYWM6PWJiOwogICAgZm9yIGk6PTEgdG8gay0xIGRvCiAgICAgYmVnaW4KICAgICAgYWM6PWFjK2FyW3graSx5LWldOwogICAgIGVuZDsKICAgIGlmIGFjPWJiIHRoZW4gYWFhOj10cnVlOwogZW5kOwoKaWYgKHg+PWspIGFuZCAoci15KzE+PWspIHRoZW4KICAgYmVnaW4gICAgCiAgICBhYzo9YmI7CiAgICAgZm9yIGk6PTEgdG8gay0xIGRvCiAgICAgICBiZWdpbgogICAgICAgIGFjOj1hYythclt4LWkseSsxXTsKICAgICAgIGVuZDsKICAgICBpZiBhYz1iYiB0aGVuIGFhYTo9dHJ1ZTsKICAgZW5kOwoKZW5kOwpiZWdpbgpyZWFkbG4ocyxyKTsKZm9yIGk6PTEgdG8gcyBkbwogIGJlZ2luCiAgICBmb3Igajo9MSB0byByIGRvCiAgICAgICBiZWdpbgogICAgICAgICByZWFkKGFyW2ksal0pOwogICAgICAgICBpZiBqPD5yIHRoZW4gcmVhZChhbCk7CiAgICAgICBlbmQ7CiAgICByZWFkbG47CiAgZW5kOwpyZWFkbG4oeik7CmZvciBpOj0xIHRvIHogZG8KICAgYmVnaW4KICAgICAgcmVhZGxuKGJiKTsKICAgICAgazo9bGVuZ3RoKGJiKTsKICAgICAgYWI6PWJiWzFdOwogICAgICBhYWE6PWZhbHNlOwogICAgICBmb3Igajo9MSB0byBzIGRvCiAgICAgICAgYmVnaW4KICAgICAgICAgIGZvciBpOj0xIHRvIHIgZG8KICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgIGlmIGFiPWFyW2ksal0gdGhlbgogICAgICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICAgIGYoaSxqLGFiKTsKICAgICAgICAgICAgICAgICBlbmQ7CiAgICAgICAgICAgICBlbmQ7CiAgICAgICAgZW5kOwogICAgICAgaWYgYWFhPXRydWUgdGhlbgogICAgICAgICAgICB3cml0ZWxuKGJiLCcgJywnVCcpOwogICBlbmQ7CiByZWFkbG47CmVuZC4gIA==
compilation info
Free Pascal Compiler version 2.2.0 [2009/11/16] for i386
Copyright (c) 1993-2007 by Florian Klaempfl
Target OS: Linux for i386
Compiling prog.pas
prog.pas(96,10) Warning: Variable "ar" does not seem to be initialized
prog.pas(110,16) Error: Illegal assignment to for-loop variable "i"
prog.pas(122,6) Fatal: There were 1 errors compiling module, stopping
Fatal: Compilation aborted
Error: /usr/bin/ppc386 returned an error exitcode (normal if you did not specify a source file to be compiled)
stdout