program antivirus;
var
M, N1, N2, N3, N4, T, p1, p2, p3, p4, test, i, id : LongInt;
F1, F2, F3, F4, virus : AnsiString;
corrispondenza : boolean;
A :array [2..4] of Longint;
F :array[1..4] of AnsiString;
begin
{
decommenta le due righe seguenti se vuoi leggere/scrivere da file
assign(input, 'input.txt'); reset(input);
assign(output, 'output.txt'); rewrite(output);
}
ReadLn(T);
for test:=1 to T do begin
ReadLn();
ReadLn(N1, N2, N3, N4);
ReadLn(M);
for i:=1 to 4 do A[i]:=0;
for i:=1 to 4 do ReadLn(F[i]);
for p1:= 1 to N1-M+1 do
begin
virus:=Copy(F[1],p1,M);
for i:=2 to 4 do A[i]:=Pos(virus,F[i]);
corrispondenza:=true;
for i:= 2 to 4 do if A[i]=0 then corrispondenza:= false;
if corrispondenza=true then
begin
for i:= 1 to 4 do begin p2:=A[2]; p3:=A[3]; p4:=A[4]; end;
Write('Case #', test, ': ');
WriteLn(p1-1, ' ', p2-1, ' ', p3-1, ' ', p4-1);
break;
end;
end;
end;
end.
cHJvZ3JhbSBhbnRpdmlydXM7Cgp2YXIKICAgIE0sIE4xLCBOMiwgTjMsIE40LCBULCBwMSwgcDIsIHAzLCBwNCwgdGVzdCwgaSwgaWQgOiBMb25nSW50OwogICAgRjEsIEYyLCBGMywgRjQsIHZpcnVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IEFuc2lTdHJpbmc7CiAgICBjb3JyaXNwb25kZW56YSA6IGJvb2xlYW47CiAgICBBIDphcnJheSBbMi4uNF0gb2YgTG9uZ2ludDsKICAgIEYgOmFycmF5WzEuLjRdIG9mIEFuc2lTdHJpbmc7CmJlZ2luCnsKICAgIGRlY29tbWVudGEgbGUgZHVlIHJpZ2hlIHNlZ3VlbnRpIHNlIHZ1b2kgbGVnZ2VyZS9zY3JpdmVyZSBkYSBmaWxlCiAgICBhc3NpZ24oaW5wdXQsICAnaW5wdXQudHh0Jyk7ICByZXNldChpbnB1dCk7CiAgICBhc3NpZ24ob3V0cHV0LCAnb3V0cHV0LnR4dCcpOyByZXdyaXRlKG91dHB1dCk7Cn0KCiAgICBSZWFkTG4oVCk7CiAgICBmb3IgdGVzdDo9MSB0byBUIGRvIGJlZ2luCiAgICAgICAgUmVhZExuKCk7CiAgICAgICAgUmVhZExuKE4xLCBOMiwgTjMsIE40KTsKCiAgICAgICAgUmVhZExuKE0pOwogICAgICAKICAgICAgICBmb3IgaTo9MSB0byA0IGRvIEFbaV06PTA7CiAgICAgICAgCiAgICAgICAgZm9yIGk6PTEgdG8gNCBkbyBSZWFkTG4oRltpXSk7CiAgICAgICAKICAgICAgICBmb3IgcDE6PSAxIHRvICBOMS1NKzEgZG8KICAgICAgICAgICAgICAgICAgICBiZWdpbgogICAgICAgICAgICAgICAgICAgICAgdmlydXM6PUNvcHkoRlsxXSxwMSxNKTsKICAgICAgICAgICAgICAgICAgICAgIGZvciBpOj0yIHRvIDQgZG8gIEFbaV06PVBvcyh2aXJ1cyxGW2ldKTsKICAgICAgICAgICAgICAgICAgICAgIGNvcnJpc3BvbmRlbnphOj10cnVlOwogICAgICAgICAgICAgICAgICAgICAgZm9yIGk6PSAyIHRvIDQgZG8gaWYgQVtpXT0wIHRoZW4gY29ycmlzcG9uZGVuemE6PSBmYWxzZTsgCiAgICAgICAgICAgICAgICAgICAgICBpZiBjb3JyaXNwb25kZW56YT10cnVlIHRoZW4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVnaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBpOj0gMSB0byA0IGRvIGJlZ2luIHAyOj1BWzJdOyBwMzo9QVszXTsgcDQ6PUFbNF07IGVuZDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlKCdDYXNlICMnLCB0ZXN0LCAnOiAnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlTG4ocDEtMSwgJyAnLCBwMi0xLCAnICcsIHAzLTEsICcgJywgcDQtMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZDsKICAgICAgICAgICAgICAgICAgIGVuZDsKICAgICAgICAgICAgICAgICAgIAogICBlbmQ7CmVuZC4K