Point: 100.0
Time limit: 1.0s
Memory limit: 127 M
Input: stdin
Output: stdout
Author:  
Problem type
Ngôn ngữ cho phép
C, C#, C++, Java, Pascal, Python, Text

Yêu cầu

Cho dãy A gồm N phần tử . Tìm cách tách A thành ba phần sao cho tổng các phần tử trong ba phần là bằng nhau?

Dữ liệu

  • Dòng đầu ghi số \(N\) ( \(N ≤ 10^6\) ).

  • Dòng tiếp theo ghi \(N\) số nguyên, các số cách nhau bởi dấu cách ( \(A_i \leq 10^9\) ).

Kết quả

  • Kết quả gồm hai chỉ số i,j thỏa mãn 0 ≤ i < j ≤ N sao cho i,j chia dãy thành 3 mảng con có tổng bằng nhau. Nếu không tồn tại cách chia, in ra -1.

  • đoạn 1: từ vị trí 1 đến vị trí i

  • đoạn 2: từ vị trí i+1 đến vị trí j

  • đoạn 3: từ vị trí j+1 đến vị trí n

  • nếu có nhiều đáp án, in ra i j nhỏ nhất

Ví dụ

INPUT

5 
1 3 4 0 4

OUTPUT

2 3