Subtask  dễ dàng giải được với ĐPT ;
Subtask  với , có thể giải được với ĐPT 
Xét trường hợp tổng quát:
Với mỗi  (chỉ xét  bit):
- Gọi  là số giá trị  với ;
- Gọi  là số cặp  mà ;
- Gọi  là số bộ  mà ;
- Gọi  là số bộ  mà ;
Ta có thể tính toán các mảng  trong thời gian  (với  là giá trị lớn nhất của ).
Kết quả bài toán là .