/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
char[] Sequence = new char[] { 'a',
'b',
'a',
'a',
'a',
'b', 'a', 'c', 'c', 'c', 'a', 'a', 'b', 'b', 'a', 'c', 'c', 'a', 'a',
'b', 'a', 'b', 'a', 'c', 'a', 'a', 'b', 'a', 'b', 'a', 'a', 'c' };
char[] Pattern1 = new char[] { 'a', 'a', 'b' };
for(int i:results) {
}
}
public static Integer[] match
(char[] T,
char[] P
) { List<Integer> results = new ArrayList<>();
boolean match;
for (int s = 0; s <= (T.length - P.length); s++) {
match = true;
for (int j = 0; j <= P.length - 1; j++) {
if (T[s + j] != P[j]) {
match = false;
break;
}
}
if (match == true) {
results.add(s);
}
}
return results.
toArray(new Integer[results.
size()]); }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCWNoYXJbXSBTZXF1ZW5jZSA9IG5ldyBjaGFyW10geyAnYScsICdiJywgJ2EnLCAnYScsICdhJywKICAgICAgICAnYicsICdhJywgJ2MnLCAnYycsICdjJywgJ2EnLCAnYScsICdiJywgJ2InLCAnYScsICdjJywgJ2MnLCAnYScsICdhJywKICAgICAgICAnYicsICdhJywgJ2InLCAnYScsICdjJywgJ2EnLCAnYScsICdiJywgJ2EnLCAnYicsICdhJywgJ2EnLCAnYycgfTsKICAgICAgICBjaGFyW10gUGF0dGVybjEgPSBuZXcgY2hhcltdIHsgJ2EnLCAnYScsICdiJyB9OwogICAgICAgIEludGVnZXJbXSByZXN1bHRzID0gbWF0Y2goU2VxdWVuY2UsIFBhdHRlcm4xKTsKICAgICAgICBmb3IoaW50IGk6cmVzdWx0cykgewogICAgICAgIAlTeXN0ZW0ub3V0LnByaW50bG4oaSk7CiAgICAgICAgfQoJfQoJCglwdWJsaWMgc3RhdGljIEludGVnZXJbXSBtYXRjaChjaGFyW10gVCwgY2hhcltdIFApIHsKICAgICAgICBMaXN0PEludGVnZXI+IHJlc3VsdHMgPSBuZXcgQXJyYXlMaXN0PD4oKTsKICAgICAgICBib29sZWFuIG1hdGNoOwogICAgICAgIGZvciAoaW50IHMgPSAwOyBzIDw9IChULmxlbmd0aCAtIFAubGVuZ3RoKTsgcysrKSB7CiAgICAgICAgICAgIG1hdGNoID0gdHJ1ZTsKICAgICAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPD0gUC5sZW5ndGggLSAxOyBqKyspIHsKICAgICAgICAgICAgICAgIGlmIChUW3MgKyBqXSAhPSBQW2pdKSB7CiAgICAgICAgICAgICAgICAgICAgbWF0Y2ggPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAobWF0Y2ggPT0gdHJ1ZSkgewogICAgICAgICAgICAgICAgcmVzdWx0cy5hZGQocyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIHJlc3VsdHMudG9BcnJheShuZXcgSW50ZWdlcltyZXN1bHRzLnNpemUoKV0pOwogICAgfQp9