Mảng K

Xem PDF

Điểm: 400 (p) Thời gian: 2.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

ATM vừa bắt đầu nghiên cứu các thuộc tính của mảng. Do đó, ông định nghĩa mảng \(K\) là bất kỳ mảng \(A\) nào gồm các số nguyên dương sao cho tất cả các dãy con liên tiếp có độ dài \(K\) của \(A\) có thể được phân chia thành hai tập không giao nhau mà tổng các phần tử của hai tập là bằng nhau. Ví dụ \(1, 2, 1, 3\) là một mảng \(3\), vì \(1, 2, 1\) có thể được phân chia thành \(1, 1\)\(2\) mà cả hai đều có tổng \(2\)\(2, 1, 3\) có thể được phân chia thành \(2, 1\)\(3\) mà cả hai đều có tổng \(3\). Tuy nhiên đây không phải là mảng \(2\), vì \(1, 2\) không thể được phân chia thành hai dãy con có khả năng không liên tục với tổng bằng nhau. Tương tự như vậy, đây cũng không phải là một mảng \(4\).

Bạn được cung cấp \(T\) mảng các số nguyên dương. Đối với mỗi mảng \(A\) ATM muốn biết tất cả các giá trị của \(K\)\(A\) là một mảng \(K\).

Input

Dòng đầu tiên chứa số \(T\), tiếp theo là \(T\) (\(1\le T \le 20\)) nhóm dòng:

  • Dòng đầu chứa số \(N\) là độ dài của dãy (\(1 \le N \le 1000\)).
  • Dòng thứ hai chứa \(N\) số nguyên dương \(A_i\) (\(1 \le A_i \le 10^5, \sum_{1\le i\le N} A_i \le 10^5\))

Output

  • Ghi ra \(T\) dòng gồm số đầu tiên là số lượng \(d\) giá trị \(K\) thỏa mãn, tiếp theo là \(d\) số tương ứng là các giá trị \(K\) thỏa mãn, các số được liệt kê tăng dần theo giá trị.

Example

Test 1

Input
2
7
7 3 5 1 3 3 5
6
1 2 3 5 8 3
Output
2 4 6
2 3 6

Bình luận

Không có bình luận nào.