Xét tập gồm số tự nhiên đầu tiên. Dễ dàng chứng minh tập có tập con (tính cả tập rỗng). Mỗi tập con của có thể được mã hóa bằng một dãy bit nhị phân gồm bit, bit thứ của bằng 1 khi và chỉ khi thuộc và bit thứ của bằng 0 khi và chỉ khi không thuộc . Mỗi dãy bit nhị phân có thể được biểu diễn bằng một số nguyên không âm trong hệ thập phân. Ví dụ, với , ta có . Giả sử . Khi đó .
Định nghĩa một bộ ba tập con của bao tập con của khi và chỉ khi là tập con của hợp của ba tập hợp và . Nói cách khác, mỗi phần tử của là một phần tử của tập hoặc .
Xét bốn hàm và . Mỗi hàm nhận một số nguyên không âm biểu diễn một tập con của làm tham số duy nhất và trả về một số nguyên không âm. Bạn được cho giá trị của và với mọi số nguyên thỏa mãn .
Giá trị của với là một số nguyên không âm biểu diễn tập con của là tổng của các với và lần lượt là các số nguyên âm biểu diễn tập và của tập thỏa mãn bao .
Nhiệm vụ của bạn là tính số dư sau khi chia giá trị của cho .
Input
Dòng đầu tiên chứa một số nguyên thỏa .
Dòng thứ hai chứa sốnguyên .
Dòng thứ ba chứa sốnguyên .
Dòng thứ tư chứa sốnguyên .
Output
In kết quả cần tính.
Samples
Sample Input 1
2
1 3 9 12
0 5 1 2
2 3 4 1
Sample Output 1
7680
Comments