/****************************************************************************** Online C++ Compiler. Code, Compile, Run and Debug C++ program online. Write your code in this editor and press "Run" button to compile and execute it. *******************************************************************************/ #include <iostream> #include <vector> #include <sstream> #include <cassert> void Rec(std::vector<int>& arr, int k, int start, int depth, std::vector<int>& indices) { int n = arr.size(); if (depth == k) { int sum = 0; for (int idx : indices) { sum += arr[idx]; } if (sum == 0) { for (int idx : indices) { std::cout << idx << " "; } std::cout << std::endl; } return; } for (int i = start; i < n; ++i) { indices.push_back(i); Rec(arr, k, i + 1, depth + 1, indices); indices.pop_back(); } } void findSubarrays(std::vector<int>& arr, int k) { std::vector<int> indices; Rec(arr, k, 0, 0, indices); } std::string captureOutput(std::vector<int> arr, int k) { std::ostringstream buffer; std::streambuf* prevcoutbuf = std::cout.rdbuf(buffer.rdbuf()); //buffer — строковый поток, куда будет направляться вывод вместо std::cout. //prevcoutbuf сохраняет стандартный поток вывода, чтобы потом его вернуть. findSubarrays(arr, k); std::cout.rdbuf(prevcoutbuf); return buffer.str(); } void runTests() { // Все нули { std::vector<int> arr = {0, 0, 0}; int k = 2; std::string output = captureOutput(arr, k); assert(!output.empty() && "Test 1 failed"); } // Нет подмножеств с суммой 0 { std::vector<int> arr = {1, 2, 3}; int k = 2; std::string output = captureOutput(arr, k); assert(output.empty() && "Test 2 failed"); } // Есть подмножество с суммой 0 { std::vector<int> arr = {1, -1, 2, -2}; int k = 2; std::string output = captureOutput(arr, k); assert(!output.empty() && "Test 3 failed"); } // Один элемент 0 { std::vector<int> arr = {0}; int k = 1; std::string output = captureOutput(arr, k); assert(!output.empty() && "Test 4 failed"); } // Большие значения { std::vector<int> arr = {1000000, -1000000, 500000, -500000}; int k = 2; std::string output = captureOutput(arr, k); assert(!output.empty() && "Test 5 failed"); } // Пустой массив { std::vector<int> arr = {}; int k = 1; std::string output = captureOutput(arr, k); assert(output.empty() && "Test 6 failed"); } // k больше, чем размер массива { std::vector<int> arr = {1, -1}; int k = 3; std::string output = captureOutput(arr, k); assert(output.empty() && "Test 7 failed"); } std::cout << "All tests passed!\n"; } int main() { runTests(); int n, k; std::cin >> n; std::cin >> k; std::vector<int> arr(n); for (int i = 0; i < n; ++i) { std::cin >> arr[i]; } findSubarrays(arr, k); }
25 6 1 2 3 4 5 -15 3 3 3 3 -3 -3 -10 -7 8 9 17 18 19 20 28 -34 21 27 78
All tests passed! 0 1 2 3 4 5 0 1 2 3 10 13 0 1 2 3 11 13 0 1 2 5 12 18 0 1 2 14 19 21 0 1 2 15 18 21 0 1 3 4 5 6 0 1 3 4 5 7 0 1 3 4 5 8 0 1 3 4 5 9 0 1 3 5 12 17 0 1 3 6 10 13 0 1 3 6 11 13 0 1 3 7 10 13 0 1 3 7 11 13 0 1 3 8 10 13 0 1 3 8 11 13 0 1 3 9 10 13 0 1 3 9 11 13 0 1 3 14 18 21 0 1 3 15 17 21 0 1 4 5 12 16 0 1 4 12 13 15 0 1 4 14 17 21 0 1 4 15 16 21 0 1 5 6 12 18 0 1 5 7 12 18 0 1 5 8 12 18 0 1 5 9 12 18 0 1 5 10 11 17 0 1 5 17 20 21 0 1 5 18 21 23 0 1 6 14 19 21 0 1 6 15 18 21 0 1 7 14 19 21 0 1 7 15 18 21 0 1 8 14 19 21 0 1 8 15 18 21 0 1 9 14 19 21 0 1 9 15 18 21 0 1 10 12 13 16 0 1 11 12 13 16 0 1 12 19 21 22 0 1 13 16 21 22 0 1 13 17 19 21 0 2 3 4 10 12 0 2 3 4 11 12 0 2 3 4 21 22 0 2 3 5 12 16 0 2 3 12 13 15 0 2 3 14 17 21 0 2 3 15 16 21 0 2 4 5 6 7 0 2 4 5 6 8 0 2 4 5 6 9 0 2 4 5 7 8 0 2 4 5 7 9 0 2 4 5 8 9 0 2 4 5 10 15 0 2 4 5 11 15 0 2 4 10 20 21 0 2 4 11 20 21 0 2 4 12 13 14 0 2 4 14 16 21 0 2 5 6 12 17 0 2 5 7 12 17 0 2 5 8 12 17 0 2 5 9 12 17 0 2 5 10 11 16 0 2 5 10 13 22 0 2 5 11 13 22 0 2 5 12 13 20 0 2 5 16 20 21 0 2 5 17 21 23 0 2 6 7 10 13 0 2 6 7 11 13 0 2 6 8 10 13 0 2 6 8 11 13 0 2 6 9 10 13 0 2 6 9 11 13 0 2 6 14 18 21 0 2 6 15 17 21 0 2 7 8 10 13 0 2 7 8 11 13 0 2 7 9 10 13 0 2 7 9 11 13 0 2 7 14 18 21 0 2 7 15 17 21 0 2 8 9 10 13 0 2 8 9 11 13 0 2 8 14 18 21 0 2 8 15 17 21 0 2 9 14 18 21 0 2 9 15 17 21 0 2 10 11 13 15 0 2 12 18 21 22 0 2 13 15 20 21 0 2 13 16 19 21 0 2 13 17 18 21 0 3 4 5 10 14 0 3 4 5 11 14 0 3 4 6 10 12 0 3 4 6 11 12 0 3 4 6 21 22 0 3 4 7 10 12 0 3 4 7 11 12 0 3 4 7 21 22 0 3 4 8 10 12 0 3 4 8 11 12 0 3 4 8 21 22 0 3 4 9 10 12 0 3 4 9 11 12 0 3 4 9 21 22 0 3 4 10 21 23 0 3 4 11 21 23 0 3 5 6 12 16 0 3 5 7 12 16 0 3 5 8 12 16 0 3 5 9 12 16 0 3 5 10 13 19 0 3 5 11 13 19 0 3 5 12 13 23 0 3 5 13 14 15 0 3 5 16 21 23 0 3 6 12 13 15 0 3 6 14 17 21 0 3 6 15 16 21 0 3 7 12 13 15 0 3 7 14 17 21 0 3 7 15 16 21 0 3 8 12 13 15 0 3 8 14 17 21 0 3 8 15 16 21 0 3 9 12 13 15 0 3 9 14 17 21 0 3 9 15 16 21 0 3 10 11 13 14 0 3 12 17 21 22 0 3 12 18 19 21 0 3 13 14 20 21 0 3 13 15 21 23 0 3 13 16 18 21 0 4 5 6 7 8 0 4 5 6 7 9 0 4 5 6 8 9 0 4 5 6 10 15 0 4 5 6 11 15 0 4 5 7 8 9 0 4 5 7 10 15 0 4 5 7 11 15 0 4 5 8 10 15 0 4 5 8 11 15 0 4 5 9 10 15 0 4 5 9 11 15 0 4 5 10 13 18 0 4 5 11 13 18 0 4 6 10 20 21 0 4 6 11 20 21 0 4 6 12 13 14 0 4 6 14 16 21 0 4 7 10 20 21 0 4 7 11 20 21 0 4 7 12 13 14 0 4 7 14 16 21 0 4 8 10 20 21 0 4 8 11 20 21 0 4 8 12 13 14 0 4 8 14 16 21 0 4 9 10 20 21 0 4 9 11 20 21 0 4 9 12 13 14 0 4 9 14 16 21 0 4 12 16 21 22 0 4 12 17 19 21 0 4 13 14 21 23 0 4 13 16 17 21 0 5 6 7 12 17 0 5 6 8 12 17 0 5 6 9 12 17 0 5 6 10 11 16 0 5 6 10 13 22 0 5 6 11 13 22 0 5 6 12 13 20 0 5 6 16 20 21 0 5 6 17 21 23 0 5 7 8 12 17 0 5 7 9 12 17 0 5 7 10 11 16 0 5 7 10 13 22 0 5 7 11 13 22 0 5 7 12 13 20 0 5 7 16 20 21 0 5 7 17 21 23 0 5 8 9 12 17 0 5 8 10 11 16 0 5 8 10 13 22 0 5 8 11 13 22 0 5 8 12 13 20 0 5 8 16 20 21 0 5 8 17 21 23 0 5 9 10 11 16 0 5 9 10 13 22 0 5 9 11 13 22 0 5 9 12 13 20 0 5 9 16 20 21 0 5 9 17 21 23 0 5 10 11 13 23 0 5 10 12 14 18 0 5 10 12 15 17 0 5 11 12 14 18 0 5 11 12 15 17 0 5 13 20 21 23 0 5 14 18 21 22 0 5 15 17 21 22 0 5 15 18 19 21 0 6 7 8 10 13 0 6 7 8 11 13 0 6 7 9 10 13 0 6 7 9 11 13 0 6 7 14 18 21 0 6 7 15 17 21 0 6 8 9 10 13 0 6 8 9 11 13 0 6 8 14 18 21 0 6 8 15 17 21 0 6 9 14 18 21 0 6 9 15 17 21 0 6 10 11 13 15 0 6 12 18 21 22 0 6 13 15 20 21 0 6 13 16 19 21 0 6 13 17 18 21 0 7 8 9 10 13 0 7 8 9 11 13 0 7 8 14 18 21 0 7 8 15 17 21 0 7 9 14 18 21 0 7 9 15 17 21 0 7 10 11 13 15 0 7 12 18 21 22 0 7 13 15 20 21 0 7 13 16 19 21 0 7 13 17 18 21 0 8 9 14 18 21 0 8 9 15 17 21 0 8 10 11 13 15 0 8 12 18 21 22 0 8 13 15 20 21 0 8 13 16 19 21 0 8 13 17 18 21 0 9 10 11 13 15 0 9 12 18 21 22 0 9 13 15 20 21 0 9 13 16 19 21 0 9 13 17 18 21 0 10 11 17 21 22 0 10 11 18 19 21 0 10 12 17 20 21 0 10 12 18 21 23 0 10 14 15 18 21 0 11 12 17 20 21 0 11 12 18 21 23 0 11 14 15 18 21 0 12 14 16 17 21 1 2 3 4 19 21 1 2 3 5 6 7 1 2 3 5 6 8 1 2 3 5 6 9 1 2 3 5 7 8 1 2 3 5 7 9 1 2 3 5 8 9 1 2 3 5 10 15 1 2 3 5 11 15 1 2 3 10 20 21 1 2 3 11 20 21 1 2 3 12 13 14 1 2 3 14 16 21 1 2 4 5 10 14 1 2 4 5 11 14 1 2 4 6 10 12 1 2 4 6 11 12 1 2 4 6 21 22 1 2 4 7 10 12 1 2 4 7 11 12 1 2 4 7 21 22 1 2 4 8 10 12 1 2 4 8 11 12 1 2 4 8 21 22 1 2 4 9 10 12 1 2 4 9 11 12 1 2 4 9 21 22 1 2 4 10 21 23 1 2 4 11 21 23 1 2 5 6 12 16 1 2 5 7 12 16 1 2 5 8 12 16 1 2 5 9 12 16 1 2 5 10 13 19 1 2 5 11 13 19 1 2 5 12 13 23 1 2 5 13 14 15 1 2 5 16 21 23 1 2 6 12 13 15 1 2 6 14 17 21 1 2 6 15 16 21 1 2 7 12 13 15 1 2 7 14 17 21 1 2 7 15 16 21 1 2 8 12 13 15 1 2 8 14 17 21 1 2 8 15 16 21 1 2 9 12 13 15 1 2 9 14 17 21 1 2 9 15 16 21 1 2 10 11 13 14 1 2 12 17 21 22 1 2 12 18 19 21 1 2 13 14 20 21 1 2 13 15 21 23 1 2 13 16 18 21 1 3 4 6 19 21 1 3 4 7 19 21 1 3 4 8 19 21 1 3 4 9 19 21 1 3 5 6 7 8 1 3 5 6 7 9 1 3 5 6 8 9 1 3 5 6 10 15 1 3 5 6 11 15 1 3 5 7 8 9 1 3 5 7 10 15 1 3 5 7 11 15 1 3 5 8 10 15 1 3 5 8 11 15 1 3 5 9 10 15 1 3 5 9 11 15 1 3 5 10 13 18 1 3 5 11 13 18 1 3 6 10 20 21 1 3 6 11 20 21 1 3 6 12 13 14 1 3 6 14 16 21 1 3 7 10 20 21 1 3 7 11 20 21 1 3 7 12 13 14 1 3 7 14 16 21 1 3 8 10 20 21 1 3 8 11 20 21 1 3 8 12 13 14 1 3 8 14 16 21 1 3 9 10 20 21 1 3 9 11 20 21 1 3 9 12 13 14 1 3 9 14 16 21 1 3 12 16 21 22 1 3 12 17 19 21 1 3 13 14 21 23 1 3 13 16 17 21 1 4 5 6 10 14 1 4 5 6 11 14 1 4 5 7 10 14 1 4 5 7 11 14 1 4 5 8 10 14 1 4 5 8 11 14 1 4 5 9 10 14 1 4 5 9 11 14 1 4 5 10 12 22 1 4 5 10 13 17 1 4 5 11 12 22 1 4 5 11 13 17 1 4 6 7 10 12 1 4 6 7 11 12 1 4 6 7 21 22 1 4 6 8 10 12 1 4 6 8 11 12 1 4 6 8 21 22 1 4 6 9 10 12 1 4 6 9 11 12 1 4 6 9 21 22 1 4 6 10 21 23 1 4 6 11 21 23 1 4 7 8 10 12 1 4 7 8 11 12 1 4 7 8 21 22 1 4 7 9 10 12 1 4 7 9 11 12 1 4 7 9 21 22 1 4 7 10 21 23 1 4 7 11 21 23 1 4 8 9 10 12 1 4 8 9 11 12 1 4 8 9 21 22 1 4 8 10 21 23 1 4 8 11 21 23 1 4 9 10 21 23 1 4 9 11 21 23 1 4 10 11 12 15 1 4 10 15 21 22 1 4 11 15 21 22 1 4 12 15 20 21 1 4 12 16 19 21 1 4 12 17 18 21 1 5 6 7 12 16 1 5 6 8 12 16 1 5 6 9 12 16 1 5 6 10 13 19 1 5 6 11 13 19 1 5 6 12 13 23 1 5 6 13 14 15 1 5 6 16 21 23 1 5 7 8 12 16 1 5 7 9 12 16 1 5 7 10 13 19 1 5 7 11 13 19 1 5 7 12 13 23 1 5 7 13 14 15 1 5 7 16 21 23 1 5 8 9 12 16 1 5 8 10 13 19 1 5 8 11 13 19 1 5 8 12 13 23 1 5 8 13 14 15 1 5 8 16 21 23 1 5 9 10 13 19 1 5 9 11 13 19 1 5 9 12 13 23 1 5 9 13 14 15 1 5 9 16 21 23 1 5 10 12 14 17 1 5 10 12 15 16 1 5 11 12 14 17 1 5 11 12 15 16 1 5 12 13 15 22 1 5 14 17 21 22 1 5 14 18 19 21 1 5 15 16 21 22 1 5 15 17 19 21 1 6 7 12 13 15 1 6 7 14 17 21 1 6 7 15 16 21 1 6 8 12 13 15 1 6 8 14 17 21 1 6 8 15 16 21 1 6 9 12 13 15 1 6 9 14 17 21 1 6 9 15 16 21 1 6 10 11 13 14 1 6 12 17 21 22 1 6 12 18 19 21 1 6 13 14 20 21 1 6 13 15 21 23 1 6 13 16 18 21 1 7 8 12 13 15 1 7 8 14 17 21 1 7 8 15 16 21 1 7 9 12 13 15 1 7 9 14 17 21 1 7 9 15 16 21 1 7 10 11 13 14 1 7 12 17 21 22 1 7 12 18 19 21 1 7 13 14 20 21 1 7 13 15 21 23 1 7 13 16 18 21 1 8 9 12 13 15 1 8 9 14 17 21 1 8 9 15 16 21 1 8 10 11 13 14 1 8 12 17 21 22 1 8 12 18 19 21 1 8 13 14 20 21 1 8 13 15 21 23 1 8 13 16 18 21 1 9 10 11 13 14 1 9 12 17 21 22 1 9 12 18 19 21 1 9 13 14 20 21 1 9 13 15 21 23 1 9 13 16 18 21 1 10 11 12 13 22 1 10 11 16 21 22 1 10 11 17 19 21 1 10 12 16 20 21 1 10 12 17 21 23 1 10 14 15 17 21 1 11 12 16 20 21 1 11 12 17 21 23 1 11 14 15 17 21 1 12 13 20 21 22 2 3 4 6 18 21 2 3 4 7 18 21 2 3 4 8 18 21 2 3 4 9 18 21 2 3 5 6 10 14 2 3 5 6 11 14 2 3 5 7 10 14 2 3 5 7 11 14 2 3 5 8 10 14 2 3 5 8 11 14 2 3 5 9 10 14 2 3 5 9 11 14 2 3 5 10 12 22 2 3 5 10 13 17 2 3 5 11 12 22 2 3 5 11 13 17 2 3 6 7 10 12 2 3 6 7 11 12 2 3 6 7 21 22 2 3 6 8 10 12 2 3 6 8 11 12 2 3 6 8 21 22 2 3 6 9 10 12 2 3 6 9 11 12 2 3 6 9 21 22 2 3 6 10 21 23 2 3 6 11 21 23 2 3 7 8 10 12 2 3 7 8 11 12 2 3 7 8 21 22 2 3 7 9 10 12 2 3 7 9 11 12 2 3 7 9 21 22 2 3 7 10 21 23 2 3 7 11 21 23 2 3 8 9 10 12 2 3 8 9 11 12 2 3 8 9 21 22 2 3 8 10 21 23 2 3 8 11 21 23 2 3 9 10 21 23 2 3 9 11 21 23 2 3 10 11 12 15 2 3 10 15 21 22 2 3 11 15 21 22 2 3 12 15 20 21 2 3 12 16 19 21 2 3 12 17 18 21 2 4 5 10 12 19 2 4 5 10 13 16 2 4 5 11 12 19 2 4 5 11 13 16 2 4 5 12 14 15 2 4 5 19 21 22 2 4 6 7 19 21 2 4 6 8 19 21 2 4 6 9 19 21 2 4 7 8 19 21 2 4 7 9 19 21 2 4 8 9 19 21 2 4 10 11 12 14 2 4 10 14 21 22 2 4 10 15 19 21 2 4 11 14 21 22 2 4 11 15 19 21 2 4 12 14 20 21 2 4 12 15 21 23 2 4 12 16 18 21 2 5 6 7 8 9 2 5 6 7 10 15 2 5 6 7 11 15 2 5 6 8 10 15 2 5 6 8 11 15 2 5 6 9 10 15 2 5 6 9 11 15 2 5 6 10 13 18 2 5 6 11 13 18 2 5 7 8 10 15 2 5 7 8 11 15 2 5 7 9 10 15 2 5 7 9 11 15 2 5 7 10 13 18 2 5 7 11 13 18 2 5 8 9 10 15 2 5 8 9 11 15 2 5 8 10 13 18 2 5 8 11 13 18 2 5 9 10 13 18 2 5 9 11 13 18 2 5 10 11 12 20 2 5 10 12 14 16 2 5 10 20 21 22 2 5 11 12 14 16 2 5 11 20 21 22 2 5 12 13 14 22 2 5 12 13 15 19 2 5 14 16 21 22 2 5 14 17 19 21 2 5 15 16 19 21 2 5 15 17 18 21 2 6 7 10 20 21 2 6 7 11 20 21 2 6 7 12 13 14 2 6 7 14 16 21 2 6 8 10 20 21 2 6 8 11 20 21 2 6 8 12 13 14 2 6 8 14 16 21 2 6 9 10 20 21 2 6 9 11 20 21 2 6 9 12 13 14 2 6 9 14 16 21 2 6 12 16 21 22 2 6 12 17 19 21 2 6 13 14 21 23 2 6 13 16 17 21 2 7 8 10 20 21 2 7 8 11 20 21 2 7 8 12 13 14 2 7 8 14 16 21 2 7 9 10 20 21 2 7 9 11 20 21 2 7 9 12 13 14 2 7 9 14 16 21 2 7 12 16 21 22 2 7 12 17 19 21 2 7 13 14 21 23 2 7 13 16 17 21 2 8 9 10 20 21 2 8 9 11 20 21 2 8 9 12 13 14 2 8 9 14 16 21 2 8 12 16 21 22 2 8 12 17 19 21 2 8 13 14 21 23 2 8 13 16 17 21 2 9 12 16 21 22 2 9 12 17 19 21 2 9 13 14 21 23 2 9 13 16 17 21 2 10 11 12 13 19 2 10 11 15 20 21 2 10 11 16 19 21 2 10 11 17 18 21 2 10 12 13 14 15 2 10 12 16 21 23 2 10 13 19 21 22 2 10 14 15 16 21 2 11 12 13 14 15 2 11 12 16 21 23 2 11 13 19 21 22 2 11 14 15 16 21 2 12 13 19 20 21 2 12 13 21 22 23 2 13 14 15 21 22 3 4 5 10 12 18 3 4 5 11 12 18 3 4 5 18 21 22 3 4 6 7 18 21 3 4 6 8 18 21 3 4 6 9 18 21 3 4 7 8 18 21 3 4 7 9 18 21 3 4 8 9 18 21 3 4 10 14 19 21 3 4 10 15 18 21 3 4 11 14 19 21 3 4 11 15 18 21 3 4 12 14 21 23 3 4 12 16 17 21 3 5 6 7 10 14 3 5 6 7 11 14 3 5 6 8 10 14 3 5 6 8 11 14 3 5 6 9 10 14 3 5 6 9 11 14 3 5 6 10 12 22 3 5 6 10 13 17 3 5 6 11 12 22 3 5 6 11 13 17 3 5 7 8 10 14 3 5 7 8 11 14 3 5 7 9 10 14 3 5 7 9 11 14 3 5 7 10 12 22 3 5 7 10 13 17 3 5 7 11 12 22 3 5 7 11 13 17 3 5 8 9 10 14 3 5 8 9 11 14 3 5 8 10 12 22 3 5 8 10 13 17 3 5 8 11 12 22 3 5 8 11 13 17 3 5 9 10 12 22 3 5 9 10 13 17 3 5 9 11 12 22 3 5 9 11 13 17 3 5 10 11 12 23 3 5 10 11 14 15 3 5 10 19 20 21 3 5 10 21 22 23 3 5 11 19 20 21 3 5 11 21 22 23 3 5 12 13 14 19 3 5 12 13 15 18 3 5 12 20 21 23 3 5 14 15 20 21 3 5 14 16 19 21 3 5 14 17 18 21 3 5 15 16 18 21 3 6 7 8 10 12 3 6 7 8 11 12 3 6 7 8 21 22 3 6 7 9 10 12 3 6 7 9 11 12 3 6 7 9 21 22 3 6 7 10 21 23 3 6 7 11 21 23 3 6 8 9 10 12 3 6 8 9 11 12 3 6 8 9 21 22 3 6 8 10 21 23 3 6 8 11 21 23 3 6 9 10 21 23 3 6 9 11 21 23 3 6 10 11 12 15 3 6 10 15 21 22 3 6 11 15 21 22 3 6 12 15 20 21 3 6 12 16 19 21 3 6 12 17 18 21 3 7 8 9 10 12 3 7 8 9 11 12 3 7 8 9 21 22 3 7 8 10 21 23 3 7 8 11 21 23 3 7 9 10 21 23 3 7 9 11 21 23 3 7 10 11 12 15 3 7 10 15 21 22 3 7 11 15 21 22 3 7 12 15 20 21 3 7 12 16 19 21 3 7 12 17 18 21 3 8 9 10 21 23 3 8 9 11 21 23 3 8 10 11 12 15 3 8 10 15 21 22 3 8 11 15 21 22 3 8 12 15 20 21 3 8 12 16 19 21 3 8 12 17 18 21 3 9 10 11 12 15 3 9 10 15 21 22 3 9 11 15 21 22 3 9 12 15 20 21 3 9 12 16 19 21 3 9 12 17 18 21 3 10 11 12 13 18 3 10 11 14 20 21 3 10 11 15 21 23 3 10 11 16 18 21 3 10 13 18 21 22 3 11 13 18 21 22 3 12 13 18 20 21 3 12 13 19 21 23 3 13 14 15 19 21 4 5 6 10 12 19 4 5 6 10 13 16 4 5 6 11 12 19 4 5 6 11 13 16 4 5 6 12 14 15 4 5 6 19 21 22 4 5 7 10 12 19 4 5 7 10 13 16 4 5 7 11 12 19 4 5 7 11 13 16 4 5 7 12 14 15 4 5 7 19 21 22 4 5 8 10 12 19 4 5 8 10 13 16 4 5 8 11 12 19 4 5 8 11 13 16 4 5 8 12 14 15 4 5 8 19 21 22 4 5 9 10 12 19 4 5 9 10 13 16 4 5 9 11 12 19 4 5 9 11 13 16 4 5 9 12 14 15 4 5 9 19 21 22 4 5 10 18 20 21 4 5 10 19 21 23 4 5 11 18 20 21 4 5 11 19 21 23 4 5 12 13 14 18 4 5 12 13 15 17 4 5 14 15 21 23 4 5 14 16 18 21 4 5 15 16 17 21 4 6 7 8 19 21 4 6 7 9 19 21 4 6 8 9 19 21 4 6 10 11 12 14 4 6 10 14 21 22 4 6 10 15 19 21 4 6 11 14 21 22 4 6 11 15 19 21 4 6 12 14 20 21 4 6 12 15 21 23 4 6 12 16 18 21 4 7 8 9 19 21 4 7 10 11 12 14 4 7 10 14 21 22 4 7 10 15 19 21 4 7 11 14 21 22 4 7 11 15 19 21 4 7 12 14 20 21 4 7 12 15 21 23 4 7 12 16 18 21 4 8 10 11 12 14 4 8 10 14 21 22 4 8 10 15 19 21 4 8 11 14 21 22 4 8 11 15 19 21 4 8 12 14 20 21 4 8 12 15 21 23 4 8 12 16 18 21 4 9 10 11 12 14 4 9 10 14 21 22 4 9 10 15 19 21 4 9 11 14 21 22 4 9 11 15 19 21 4 9 12 14 20 21 4 9 12 15 21 23 4 9 12 16 18 21 4 10 11 12 13 17 4 10 11 14 21 23 4 10 11 16 17 21 4 10 13 17 21 22 4 10 13 18 19 21 4 11 13 17 21 22 4 11 13 18 19 21 4 12 13 17 20 21 4 12 13 18 21 23 4 13 14 15 18 21 5 6 7 8 10 15 5 6 7 8 11 15 5 6 7 9 10 15 5 6 7 9 11 15 5 6 7 10 13 18 5 6 7 11 13 18 5 6 8 9 10 15 5 6 8 9 11 15 5 6 8 10 13 18 5 6 8 11 13 18 5 6 9 10 13 18 5 6 9 11 13 18 5 6 10 11 12 20 5 6 10 12 14 16 5 6 10 20 21 22 5 6 11 12 14 16 5 6 11 20 21 22 5 6 12 13 14 22 5 6 12 13 15 19 5 6 14 16 21 22 5 6 14 17 19 21 5 6 15 16 19 21 5 6 15 17 18 21 5 7 8 9 10 15 5 7 8 9 11 15 5 7 8 10 13 18 5 7 8 11 13 18 5 7 9 10 13 18 5 7 9 11 13 18 5 7 10 11 12 20 5 7 10 12 14 16 5 7 10 20 21 22 5 7 11 12 14 16 5 7 11 20 21 22 5 7 12 13 14 22 5 7 12 13 15 19 5 7 14 16 21 22 5 7 14 17 19 21 5 7 15 16 19 21 5 7 15 17 18 21 5 8 9 10 13 18 5 8 9 11 13 18 5 8 10 11 12 20 5 8 10 12 14 16 5 8 10 20 21 22 5 8 11 12 14 16 5 8 11 20 21 22 5 8 12 13 14 22 5 8 12 13 15 19 5 8 14 16 21 22 5 8 14 17 19 21 5 8 15 16 19 21 5 8 15 17 18 21 5 9 10 11 12 20 5 9 10 12 14 16 5 9 10 20 21 22 5 9 11 12 14 16 5 9 11 20 21 22 5 9 12 13 14 22 5 9 12 13 15 19 5 9 14 16 21 22 5 9 14 17 19 21 5 9 15 16 19 21 5 9 15 17 18 21 5 10 11 13 14 19 5 10 11 13 15 18 5 10 11 20 21 23 5 10 12 13 14 23 5 10 12 13 16 17 5 10 14 16 21 23 5 11 12 13 14 23 5 11 12 13 16 17 5 11 14 16 21 23 5 12 17 19 21 22 5 13 14 19 20 21 5 13 14 21 22 23 5 13 15 18 20 21 5 13 15 19 21 23 5 13 16 17 21 22 5 13 16 18 19 21 6 7 8 10 20 21 6 7 8 11 20 21 6 7 8 12 13 14 6 7 8 14 16 21 6 7 9 10 20 21 6 7 9 11 20 21 6 7 9 12 13 14 6 7 9 14 16 21 6 7 12 16 21 22 6 7 12 17 19 21 6 7 13 14 21 23 6 7 13 16 17 21 6 8 9 10 20 21 6 8 9 11 20 21 6 8 9 12 13 14 6 8 9 14 16 21 6 8 12 16 21 22 6 8 12 17 19 21 6 8 13 14 21 23 6 8 13 16 17 21 6 9 12 16 21 22 6 9 12 17 19 21 6 9 13 14 21 23 6 9 13 16 17 21 6 10 11 12 13 19 6 10 11 15 20 21 6 10 11 16 19 21 6 10 11 17 18 21 6 10 12 13 14 15 6 10 12 16 21 23 6 10 13 19 21 22 6 10 14 15 16 21 6 11 12 13 14 15 6 11 12 16 21 23 6 11 13 19 21 22 6 11 14 15 16 21 6 12 13 19 20 21 6 12 13 21 22 23 6 13 14 15 21 22 7 8 9 10 20 21 7 8 9 11 20 21 7 8 9 12 13 14 7 8 9 14 16 21 7 8 12 16 21 22 7 8 12 17 19 21 7 8 13 14 21 23 7 8 13 16 17 21 7 9 12 16 21 22 7 9 12 17 19 21 7 9 13 14 21 23 7 9 13 16 17 21 7 10 11 12 13 19 7 10 11 15 20 21 7 10 11 16 19 21 7 10 11 17 18 21 7 10 12 13 14 15 7 10 12 16 21 23 7 10 13 19 21 22 7 10 14 15 16 21 7 11 12 13 14 15 7 11 12 16 21 23 7 11 13 19 21 22 7 11 14 15 16 21 7 12 13 19 20 21 7 12 13 21 22 23 7 13 14 15 21 22 8 9 12 16 21 22 8 9 12 17 19 21 8 9 13 14 21 23 8 9 13 16 17 21 8 10 11 12 13 19 8 10 11 15 20 21 8 10 11 16 19 21 8 10 11 17 18 21 8 10 12 13 14 15 8 10 12 16 21 23 8 10 13 19 21 22 8 10 14 15 16 21 8 11 12 13 14 15 8 11 12 16 21 23 8 11 13 19 21 22 8 11 14 15 16 21 8 12 13 19 20 21 8 12 13 21 22 23 8 13 14 15 21 22 9 10 11 12 13 19 9 10 11 15 20 21 9 10 11 16 19 21 9 10 11 17 18 21 9 10 12 13 14 15 9 10 12 16 21 23 9 10 13 19 21 22 9 10 14 15 16 21 9 11 12 13 14 15 9 11 12 16 21 23 9 11 13 19 21 22 9 11 14 15 16 21 9 12 13 19 20 21 9 12 13 21 22 23 9 13 14 15 21 22 10 11 13 18 20 21 10 11 13 19 21 23 10 12 14 17 21 22 10 12 14 18 19 21 10 12 15 16 21 22 10 12 15 17 19 21 10 13 14 15 21 23 10 13 14 16 18 21 10 13 15 16 17 21 11 12 14 17 21 22 11 12 14 18 19 21 11 12 15 16 21 22 11 12 15 17 19 21 11 13 14 15 21 23 11 13 14 16 18 21 11 13 15 16 17 21