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