fork download
  1. /******************************************************************************
  2.  
  3.   Online C++ Compiler.
  4.   Code, Compile, Run and Debug C++ program online.
  5. Write your code in this editor and press "Run" button to compile and execute it.
  6.  
  7. *******************************************************************************/
  8.  
  9.  
  10. #include <iostream>
  11. #include <vector>
  12. #include <sstream>
  13. #include <cassert>
  14.  
  15. void Rec(std::vector<int>& arr, int k, int start, int depth, std::vector<int>& indices) {
  16. int n = arr.size();
  17. if (depth == k) {
  18. int sum = 0;
  19. for (int idx : indices) {
  20. sum += arr[idx];
  21. }
  22. if (sum == 0) {
  23. for (int idx : indices) {
  24. std::cout << idx << " ";
  25. }
  26. std::cout << std::endl;
  27. }
  28. return;
  29. }
  30. for (int i = start; i < n; ++i) {
  31. indices.push_back(i);
  32. Rec(arr, k, i + 1, depth + 1, indices);
  33. indices.pop_back();
  34. }
  35. }
  36.  
  37. void findSubarrays(std::vector<int>& arr, int k) {
  38. std::vector<int> indices;
  39. Rec(arr, k, 0, 0, indices);
  40. }
  41.  
  42. std::string captureOutput(std::vector<int> arr, int k) {
  43. std::ostringstream buffer;
  44. std::streambuf* prevcoutbuf = std::cout.rdbuf(buffer.rdbuf());
  45. //buffer — строковый поток, куда будет направляться вывод вместо std::cout.
  46. //prevcoutbuf сохраняет стандартный поток вывода, чтобы потом его вернуть.
  47. findSubarrays(arr, k);
  48. std::cout.rdbuf(prevcoutbuf);
  49. return buffer.str();
  50. }
  51.  
  52. void runTests() {
  53. // Все нули
  54. {
  55. std::vector<int> arr = {0, 0, 0};
  56. int k = 2;
  57. std::string output = captureOutput(arr, k);
  58. assert(!output.empty() && "Test 1 failed");
  59. }
  60.  
  61. // Нет подмножеств с суммой 0
  62. {
  63. std::vector<int> arr = {1, 2, 3};
  64. int k = 2;
  65. std::string output = captureOutput(arr, k);
  66. assert(output.empty() && "Test 2 failed");
  67. }
  68.  
  69. // Есть подмножество с суммой 0
  70. {
  71. std::vector<int> arr = {1, -1, 2, -2};
  72. int k = 2;
  73. std::string output = captureOutput(arr, k);
  74. assert(!output.empty() && "Test 3 failed");
  75. }
  76.  
  77. // Один элемент 0
  78. {
  79. std::vector<int> arr = {0};
  80. int k = 1;
  81. std::string output = captureOutput(arr, k);
  82. assert(!output.empty() && "Test 4 failed");
  83. }
  84.  
  85. // Большие значения
  86. {
  87. std::vector<int> arr = {1000000, -1000000, 500000, -500000};
  88. int k = 2;
  89. std::string output = captureOutput(arr, k);
  90. assert(!output.empty() && "Test 5 failed");
  91. }
  92.  
  93. // Пустой массив
  94. {
  95. std::vector<int> arr = {};
  96. int k = 1;
  97. std::string output = captureOutput(arr, k);
  98. assert(output.empty() && "Test 6 failed");
  99. }
  100.  
  101. // k больше, чем размер массива
  102. {
  103. std::vector<int> arr = {1, -1};
  104. int k = 3;
  105. std::string output = captureOutput(arr, k);
  106. assert(output.empty() && "Test 7 failed");
  107. }
  108.  
  109. std::cout << "All tests passed!\n";
  110. }
  111.  
  112. int main() {
  113. runTests();
  114.  
  115. int n, k;
  116. std::cin >> n;
  117. std::cin >> k;
  118.  
  119. std::vector<int> arr(n);
  120. for (int i = 0; i < n; ++i) {
  121. std::cin >> arr[i];
  122. }
  123. findSubarrays(arr, k);
  124. }
  125.  
Success #stdin #stdout 0.01s 5272KB
stdin
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
stdout
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