D. CANDIA - Cân đĩa

Bộ nhớ: 256 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản

Đề bài

Một cái cân đĩa có n quả cân có khối lượng lần lượt là w_1, w_2, \ldots, w_n .

Khi cần cân một vật gì đó, người ta đặt vật cần cân lên một đĩa cân và nhặt những quả cân thích hợp đặt lên đĩa còn lại sao cho cân thăng bằng, khi đó tổng khối lượng của các quả cân đặt lên đĩa chính là khối lượng vật cần cân. Tất nhiên nếu không chọn được các quả cân phù hợp thì vật đó không cân được.

Hãy cho biết những khối lượng mà cân có thể cân được.

Dữ liệu:

  • Dòng đầu chứa số nguyên dương n ( 1\le n \le 20 );
  • Dòng thứ hai chứa n số nguyên dương w_1, w_2, \ldots, w_n\ (1\le w_i\le 10^6) .

Kết quả:

  • Gồm nhiều dòng, mỗi dòng một số nguyên là khối lượng của vật có thể cân được, các số được liệt kê theo thứ tự tăng dần (chú ý có cả vật có khối lượng bằng 0 ).

Ví dụ:

Dữ liệu:

3
1 2 5

Kết quả:

0
1
2
3
5
6
7
8