import java.io.*;
import java.nio.file.*;
import java.util.ArrayList;
class Main {
private static String readFile(String path) throws IOException {
Path filePath = Path.of(path);
String content = Files.readString(filePath);
return content.trim();
}
private static void writeResults(Iterable<String> results) throws IOException {
Path filePath = Path.of("./wyniki1.txt");
Files.write(filePath, results);
}
public static void main(String[] args) throws IOException {
Task[] tasks = new Task[] { new FirstTask(), new SecondTask(), new ThirdTask() };
String sampleData = readFile("./mecz_przyklad.txt");
String realData = readFile("./mecz.txt");
ArrayList<String> results = new ArrayList<String>();
for (Task task : tasks) {
String name = task.getTaskName();
String sampleSolution = task.doTask(sampleData);
String realSolution = task.doTask(realData);
System.out.println(name);
System.out.println(sampleSolution);
System.out.println(realSolution);
results.add(String.format("%s: %s", name, realSolution));
}
writeResults(results);
}
}
class FirstTask implements Task {
public String getTaskName() {
return "1.1.";
}
public String doTask(String entry) {
int result = 0;
for (int i = 1; i < entry.length(); i++) {
Character previous = entry.charAt(i - 1);
Character current = entry.charAt(i);
if (previous != current) {
result++;
}
}
return Integer.toString(result);
}
}
class SecondTask implements Task {
private static final String resultFormat = "%s %d:%d";
public String getTaskName() {
return "1.2.";
}
public String doTask(String entry) {
int a = 0;
int b = 0;
int i = 0;
while (i < entry.length() && !hasWon(a, b) && !hasWon(b, a)) {
Character whoWon = entry.charAt(i);
if (whoWon == 'A') {
a++;
} else if (whoWon == 'B') {
b++;
}
i++;
}
String result = "Brak zwycięzcy";
if (hasWon(a, b)) {
result = String.format(resultFormat, "A", a, b);
} else if (hasWon(b, a)) {
result = String.format(resultFormat, "B", a, b);
}
return result;
}
// wersja z for i przerwaniem
// public String doTask(String entry) {
// int a = 0;
// int b = 0;
// for (int i = 0; i < entry.length(); i++) {
// Character whoWon = entry.charAt(i);
// if (whoWon == 'A') {
// a++;
// } else if (whoWon == 'B') {
// b++;
// }
// if (hasWon(a, b)) {
// return String.format(resultFormat, "A", a, b);
// } else if (hasWon(b, a)) {
// return String.format(resultFormat, "B", a, b);
// }
// }
// return "Brak zwycięzcy";
// }
private boolean hasWon(int score, int opponentScore) {
return score >= 1000 && score - opponentScore >= 3;
}
}
interface Task {
String getTaskName();
String doTask(String entry);
}
// import java.util.regex.Matcher;
// import java.util.regex.Pattern;
class ThirdTask implements Task {
private static final int minGoodRun = 10;
public String getTaskName() {
return "1.3.";
}
public String doTask(String entry) {
int goodRuns = 0;
int currentRun = 0;
int bestRun = 0;
Character currentRunChar = ' ';
Character bestRunChar = ' ';
for (int i = 0; i < entry.length(); i++) {
Character current = entry.charAt(i);
if (currentRunChar == current) {
currentRun++;
if (currentRun == minGoodRun) {
goodRuns++;
}
if (currentRun >= minGoodRun && currentRun > bestRun) {
bestRun = currentRun;
bestRunChar = currentRunChar;
}
} else {
currentRun = 1;
currentRunChar = current;
}
}
return String.format("%d %s %d", goodRuns, bestRunChar, bestRun);
}
// wersja oparta o wyrażenie regularne
// public String doTask(String entry) {
// Pattern pattern = Pattern.compile("(\\w)\\1{9,}");
// Matcher matcher = pattern.matcher(entry);
// int goodRuns = 0;
// int bestRun = 0;
// Character bestRunChar = ' ';
// while (matcher.find()) {
// goodRuns++;
// String current = matcher.group();
// if (current.length() > bestRun) {
// bestRun = current.length();
// bestRunChar = current.charAt(0);
// }
// }
// return String.format("%d %s %d", goodRuns, bestRunChar, bestRun);
// }
}
BBBBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBBBBBBBBBBBAAAAABBBBB
BBBBBABBBAABAAAAABABAAABBAABBAABBBABBAAABABBBBBAABBABABAAABABBAABAABBBBBAABAAAABABBAABBBAABBABBBABBBAABABBBBAAAABAAAABBAABAAAAABBBAABBAAAABBAAABBABABABBBBABABBBBABAABABAAAAABBBABABABABAAABAABBABBBBBABBABAAABABBAABABBBBBAAAABABBABBBAABAAAAABABABABAABBAAAABBABBBAAABBBAAAAAAAAABAABBBBABAABABAABBAABABBBAAABABBAABABAABBAABBBABAABABBAABABBAABAAABABAAAABBABABAAABBBBABBABBBBBAABBBBBABABABBBBABBBBABAAABABAAABABABAAAABABBAABBABBBABABAAAABABABAAAAAAABBBAAABBAAAAABAAABABBABABABABAABBBBBAABBBBBBBBABBABBBBABBBBAABABAABAAABBABBBAABBBABAABBABABAAAAABAABBBAABABAAAAAABABAABBAAAABAAAAABAABBBAAAABBBABABBBABBBBBABBBBABAAABBBBBBBBAABBABABAABABAABBBBABAAABBAABAAABABBBAAABBBBBAAABABABABABBAAABAABABBABBBAABABABAABBBAAABBABBBAABBBABAAAABBBBBBAAABBBABAAAABABAAABBBBABBBBBABBABABBAAAAABBBABBBABABBAABBABBABAABBABAABBAAAAABAAABBBBABBBBBBABABBBBBBAAABABABABBAAABAAAABBBAAAAABAABAABAABBABABABABAABABBBABABBABAAABABABABBBBAAAAAAAABAABBBBBBBAAAAAABBBABBABBBBABBBABABABBABAABBABABBAAABBAAAABABAABBABABAAAABBABABABABABBBBABABAABBABBBABBBABAAAABBABBAABABAABBAAAAABAAABABBBABABAABAAABABAABAABABABAABABBABBBABAAAABAABBABBABAABAABBABAABAAABBABBAABABAAAAAAAABBBAAABABBBAABAABAAAABABBBBABBBBAAAABBABBBBBBBABBBABAAABBBBABBABBAAABAABABAABBBABBBBBBABBBBABABAABBBAAAAAAAABBBAABAABAABAAABABAABABBABBAABAAABABABABBAAAABBBBBBBBBABABAABAABAAAAABABBBBBAAAABABABABABBAABBABAAAAAAAABABBAABBBAAABABAABBBAABABBABBABBAAAAABBBBAAABABAAAAAABBABABABBABBAAABAAABBBBBBBBBBBBAABAAABAABAABBAABBBBABABBABABAAABBBAAABAAABBBAABAAAABBBABAAABABBBBABBBBABABAABBBABBAABBBABBAAAAABBAABAAAAABBBBBBBBBBBBBBBABBBAABABAAABAAABBBAABBABABBABBBAAABAABABAABBBAABBABBAAABAABABBAAABBAABBBAAAABBBBABAAABAAAABABBAABAABABAABBBBBAABBABABBBAABAAABABBABAABBBBABBABABAAAAABABABAAAABBBABABBBAAAABBBABBBAAAAABBBBABABABABBBAABBAABAABABAAABABABABBAABBBBBAABBAABAAABBBAABABAABBABBABBBABAAABABBBAABAABBAABBABABABBBABBBABBAABAABAABBAAAAABAABAABBABBBBBBBBABBBBAABBAAAAABAAAABBBAAABBAABAABABBAABABBAAAAABBABBBAABBAABAABBAABAABBBABABABABBBABAAABBAAAABAABBBBABBAAAABABABBABAABABABAAAAABAABBABBABAABBAABAABBBABAAAAABAABBBABBAAAAABBBAAAAAAAAAAABBAAABABBABBBBAAABBAAABBBBABABBAAABABBAABBABBAABABBABAAABABAAABBBAABAAAAAABAABABBBAABBBBAAAAAABBBBBBBABBBBAAAABAABBBBBBABBABABABBABBBBBBBAABAAAAAABAAAABBABAAABAAAAABAAAAAAABBBABBAABBBBABABABBAABBBAABBABAABBAABABBABAABBABABBABBABABABBBABBBAABBBBABBABBBABBAAABAAABBAAABABBAAABABBBBABBAAABBAAABBBAAABABBBAABBBABBBAAAAABAABBBBAAABBABBABBBBBAAAABAABABBAABAABBAAABAABBBAAAAABBABABBBAAAAABBBBBABABBBBBAABABAAAABBBABAAABABBBBBBAAAABAAABAABABABAABAAABBBAABBBABAAAABBAABABBBBBABABAABABAABABBABBBAAABAAABABABABBBBBABBBBABAABABBABAABBBABAAAAABAABBAAAAAAABBBAABAAABABBBBBAABBBBABBBBBBBAABABBABABABBBABAABBBBBABBBABBABBAAAABBAAAABABBBBAABAAAABAAABABABBABAAABAABABBABABABBAABBBBABBAABAABBAAABBAAABBABAAABBBABAABABBAAABABAABBBBBBBABAABAABBBBBBBABABBABAAABBBABBBBBBABABAAAABBAABAAABBAABABBAABBAAAAAABABBBBBABAABBBBBBBABABABABABAAABABBBBBBAAAAAAAABAABAABABBBAAAAABABAAABAABBBAABBBBABBBAAABAABBAABABBAAABBAABAAAAABABBBBBBBABBBABAAAAABAAAABBABBBBABBAAABBAAABBBAABBBAAABAAAAAAAABABBBBBBBAABBBABABBABABBABAAABBABBAAABBABBBBBABBBABABAABAABAAAAAABBABABABAABAAAABBBAAAAABBBAAAABBBBBAAAABBBBBABBAAABBBBABBABABBBABBABAAAAAAAAABBBBAABABAAAABAABABBBBABABAAAAAAABABBABABBABAAABBAABABBBBBAAABBABABABBBBBBABAABABBAAABBBABAAABBABBAABAABABBBAABBABBBAAABABAAAABBBABBBAAAABBBAAABAAABABABABABBAABAABBAABBBBABBBABABBBBBAAABAABAABAABBAAAABABABBBBBAABBBBAAABBABBAABABABABBBBBBAABBBAAAAABBBBBBBAABABBABABABAAAAABABBAABAABBABBABAAABABABBBAABBAAABBABABBBAAAAAAAABBBBBBBABBABAAABBAABBABAAABBAABBABBABABAABBBAAAAABAABABBABBAABBBBBBABAABABABAAABAAAAAABBAAABBABAAAAABBAAAAABAABBBABBABBBABBBABABBBBAAAABABAABBABBABABAAAABAABAABAABABAABBAABBBBBABBBBABBAABBABBAAABAAAAAAAAABBABAABAABABBBBBBABAAABBBAABAAABBBABBBBAABABAABABABAAABABBABBAAABAAAABAAAABBAAABABABBBABBBAABBAABBBABBBBAAABAAABAAABBBBAABBABABBBBABABAAABABBAABAAAAABABBBAAAABABBABAABABBBBAABBABBBBABBABABABAAABABBBBBBBAAABBBBBABBBAABBAABAABBAAAAAABBABBAAABBBABBBBAABBBBAAAAAAABBABABBABBBBABBBABABBBBABBABBABABBABABBABBBBAABBBABAABBABABBAAAABABAAAABABBBABBBAAABBAABABAABABBBAAABBAAAABABAAAABABBAABAABBAAABAABBAABABBBBAAABABABABBBBBBAAAAAABABBBBABAAAABAAAAABBAAAABBAAABAABAABAABBBBBBAABBBBBBAAABBBABBAAAAABABAABBAAAAABBABBBAAAABABBAAABABAABBABAABBBBBBABAAABABABABBAABABABBABBBABBBABAABABBBBAABBAAABAAABBBBABAABBAAABABBBAAAABAABBBBAABBBABBAABABABAAABAAAAABAAAAAAABBAABABABBBABBAAAAAABBAABABBBAAABBBBAAAABAABBBABBBBBABBABBBAAABABABBBBAAAAAABBBABBABBAAABBBABAABAABBBBAABABAABAAAAABABAABBBBABBABBBABBABBBBBBAAABABBBBABAAABBAAABAABBBBBAABBAAABABBBBAABBBBBAABABBBBAAAABBABBBBBABBBBBABBABBAABBABAABABABBAABAAABBBBBBBBBABAAAABABBAABAAAAAABBABBABABBBBBBABBABABBABABBAABBBAABAABABBABBBABBBAABBBBBBBABABAABBABABAAAABABBABABBBBABBBBBAAABBABBABABBBBABBBABABABBAABBBABBAAABABABBAAABBABAAAABBBBABBAABBBBABAABBBABABAABAAAAAAAAABAAAABBABAABAABABAABAABBAAAAABBBBBBAABBAAAAAAAAAAABBBBBABBABBBABAABABABAAAABAAAAABBAABABBAAABBABBBABABBAABBBAABBBABBBABAAABABBABABBBBABBBBABBABBABAAAABBBAAABAABBAAAABBBBABABBBABABAABBAABABBABBBAABBBABABAABAAAAAAAABBABBAABBABBBBBAABBAAAAAABBABBAABBBAABBBBAABBBAAABBBAABBAAAABBABABBAAAABBBABABAAAAAABBAAABBABBABABABABABABABBBABABBABBBBAABBABAAABBABABBAAAAAABBBBBABAABBABAABBBBBABABBBABAABBAABBBBBBABBBBBAAAAABABBABBABBBABAABAAAAABABABABBAABBBAAAAAAABBABBBAAABBBABBBAABABBAABBBBBBBAABBBABBAABABABBBBABAAABBABAAAAAABBAAAAAAABBBBBABABABBBBABABAABBABAAAABBABAABABBBBBABAABAAABAABBBBBAAAAABBBBAAAABBBABBBAABAABBAAABABBAABABABAAAAAABAABAAABABBABBAABABBBBBBAAAAABABABBABABAAABBABAAABAAAABBABAABBBBABBBBBABBBAABBAABBAABBBBBAABBAAABAABABAABABABAAAAABBABABBAAAABBBAAAAABBAABAAAABABABBAAAAABAABBABBBBAABBBBABBABABBBBBAAABBBABABBABBBAAABBABAAAAAABABABAABAABBBAABBAAABAABBAAAAAABABBBAAAAABBBABAABBAABBBBAAABBABBAABBABAAAABBAABAABABBBBBBBBBBBBAABBABABAAAABAAABBABBBBABAAABBABAAAAABAABBBAAABABBBBAABABABBAABABBBBABAAABBAABAABAAABABAABBABABABAAAABBAABABABAAAAABABABAAABBABBABAABBABBABBABBBBABABABBBAABBBAAAABBAAAABBABBBBBABBBBABABAAAAAABABABABBBBABBAABABBBABAAAAABBBBAABBBABAABBABABBABABBABAABBBBAABAAABBBBBAAAABAABABBAABBBABBABBBAAAABAAABAAABABABABABAABBBBBBAABAAABBBBAAAAAAABBAABAAABBBAABBAABBBBABABBBBBBBABAABBAAAABAABBBABBABBAABBABBABBBBABBBAAAAABABABABABBBABAABABAAAABABBABBBAAABBBABBAABAAAABABABABBBAAABAAABAAAAAAABABBAABAAAAABBBBAAABBABABABBBBAAABBBABBBBAAAAAABBAABBBBBAABBAABABAABAABAABABABBABBABABBBAABBAAABABBBBBBABABAABABABBAAABAABBBBBBBBABAABAAABBBABBBBAABBABAABAAAABBBBBAABABBBBABAABBBBBABAAABBBAABAAABBABAAABBAABBABBAAAABBABBAABBABBBBABAAABAAAABABABABABBABAAAABBABAABAAABAABABAABBBAAAABBBABAAAABBABABAAABBBBABABAABAAAAAAABAABBBABAAABBBABBBBBAAAAAABBBBAABBBBABABBBBBABBAAABBABAABABAAAABABABAABAABBABAABBBBAABBBABBABBABBAABBAAABBABBBABBAAABAABABABBAABABBAAABAABBBABABAAAAAAAABBABBABBBAABBAAAABAAABBABBBABBABBBBBBBAAAABAAAABAAAABBBAABBBABBBBABBBAABBABBAAABBABBAABBAAABABBABAABAABBAABBABAABAABAAAAABBABABBBBBABBAABBABBAABABBBBABAABBAABABABBBBBBBAAAAAAAABAABBAAABBABBAABABBABAAABBAABABBABAABABABBABAAABBABBAAABBBABBABABAAABBBBBBAABABABBAAAAABBBBBAAAABABABABAAAABAABAABBBAABAABABBBABBBBAABAAAAABBBAAAABBABBBBBBABBAAABABABBAABBBAABABABAAABBBAAABBABABBABBABAABABBBBBABABAAAAABABAAAABABBABBBABBBAABABAABBAABAAAAAAAABBBAAABABBABBAABBBAAABBBBAAABBBABAABABABAABBABBBBAAABAAABBBABAABABABABABBABABABBAAABAAABBABABBBAABBAABBAAAAABAAAABABABBABBBBAAABBBBABBABAABAABABBBBBAAAAAABABAABBAABBBAAAABBAABBABBBBBBABBBBABABAABABABAAABABABABABBBBABBABBAAAABBBBBBBABABABAABAAAAAAABBAABBBABABBBABBABABBBABBBABBABABAAABABBBBBBAAAAABBBAAABBBBAAAABBAABAAABBBABAAAAAABBAABBABBBBAABBBABABAAABBABABBBBABAAABBBAAAABAABBABBBABAABAABAABBABBAABAABBABAAABAABBABABBAAABABABBABBBAABBBBBABAABBABBABBABAAABBABAAABBBAAAABBBBBABBBABBABBBBABAABABBABBBABBBAABAAABBBABAAABBABAABABBABAABABBBAABAABABABBBBBBABAAAABABAABAABABBABAABBBABABBAAABBAAAAABAAAAABBABBABAAAAAABBABBAAAABBAAABBAAABBBBABBABBBAAAABBABAABBABAAAAAABAABAABBABABBBAAABBBBBABABBAABBAAABBABAABABBBBABABABBABAABBAAABBBBABBAABAABABBBBAABABBBAAABAAAAABAAABBABBAABABAAABBABAAABABBABAABBBABAAABBBBABBBBBAABABABABAABAAABAAABABBABBABBABAAAAABAABAAABBAAABBBAABBBABBAABABBAABBBABABBBBAABBBABBBAABABBABAABABBABBBBBBABABBBBABBAAAABABBAABABABBABABBABBAAAAAAAABABBAAABAAABBABABABBBAABBBBABBABAABBABAABABABAAAAABBAABABAAABBBBBBBBBABBABABAAABAABAABAAAAABBBBBAABBAABABBAAAAABBABBAAAABBABBBABABBBAABAAAAAABBAABBBAABBABABABAABABAABAABBBAAABBBBAABBAAABBABBBBABBAAAABBABAAABAAABABBAAAAAABAABBAABABABABABABAABAAAABABABBBBABBAAAABAABBAABBBAABBABBABBBABBBBBBAABAAAAAABAAABAAABABBBBABABAABBBAAABBBABBAAAAABBBABAABBABABABABABBBBAABBAAABBBABAAAABABBBBBABABAAAABABAAAAAAABAAAABBBAAABAABABABBAABBAAAAAABAAAAABBAAAABBBAABABBABAAABABABBBABABBBABAAAAABABBBABABBAABABBBBAAAAAABBAAAAAAABBBABBABBBABBBABAAAABBBBABBABBBBBBBAAAABBBAAAABABAAABABBBBBAABBAAAABAAAAAAABABAAAABABABBBABBABBBAAABBBAABAAAABBABAABBBBBAABBBBBBABABAAAABBBBABBAAAABBBBAAAAAAAABABAABBBABABBBABAABBBBBBABABBBBAABBBABABAABABBABAAABBAAAAAABBABAABBAAAAAABBABBAABABABABBBBBBABABABBAAAABBAABABAAAAABBABABBBABBAAAAAAABABBAABBAABBABBAABBAAAAABBAABBAAAABAAABBBBBABAAABAABBBBBBAAAAAAABBABAAABABABBAAAAABBABABBBBBBAAABAAABABABBBABABBAAABBAABAAAAAABBABBAAABABBBBBBABAAABBABBABAAAAAAABBBAABAABBABABAABABAAABABBABBAABBABABAABBBBBBABBBABABABAABBBBAAABBABBBAABBABAAAABABABBAAABABBAAABBABAABABABBBBAAAAAABBBBBAAAABAABABBABBBABBABAAAAABAAAAAAABAAAABBBBBBBABABBBAABAAABAAAAAABBABAABAABABBAABBABAAABBBAAAABABABAAAABAAABBBBAABAAAAABBAABABABBBABABAABBBBAABBBBAAAABABAABABBBBABBABABABBBABAABBABBABAAABABBBBAAABBAAAAABBBBBBAAABABAABBABBABBBBABBBBBBBAABBABAAABABAABAAAABAABBBAABBABABBAAABBBBABAAAABAAABAAABABBAAAABBBBBAABAAABBABAAABBABAAAAAABBABBABABBBBBBBAABBBABBAABBBBBBABBABBAABAAAABABAAABAAAABBBABBBBABABAAABABBABBAABABAAAAAAAABBBAABAAABABBABABBBBBBBBABBAAABAABBBBABABABAABBABABABAAABBBAAAABBBBAAAAAAABAAAAABAABBAAAABAABABABABBABBBBBBAABBBABBAAABBABABABABBBBBBBABBAABBAABBABBAAABBBAAAAABBAABABABBBBBBBBABBABBBBBBBABAABABBBBAABBBBBBBABBBABBBBBAABBABBAABAAAABBBBBBBAAAABBBABBAABBBBBABBBBBBABAAABAABBBBAAAABBAAABABBAAAABAABBBABABBBBBABBAAAAABBBBBABABBBABBBBBAAAAAAAAABBAAAABBBAAABABAABABBBBBBBBBBAABBBABBAAAABBAAAABABBAABAABAABBAABBAABBABBBABBAAABBAAABAAAAAAABBABAAABABBABBAAAABAABABBBBAABBBABAABBBBAAABBBBAAB
1.1.: 5030
1.2.: B 1001:1004
1.3.: 6 B 15