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

Biết rằng \((a\ *\ b) \bmod c = ((a \bmod c)\ *\ (b \bmod c)) \bmod c,\)

Ví dụ: \((10\ *\ 3) \bmod 4 = 2\)\((((10 \bmod 4)\ *\ (3 \bmod 4))) \bmod 4 = 6 \bmod 4 = 2\); trong khi đó giới hạn biểu diễn của long long là cỡ \(18\) chữ số, hãy tính \((a\ *\ b) \bmod c\) khi mà tích \((a\ *\ b)\) có thể vượt quá khả năng biểu diễn của long long trong \(C++.\)

Yêu cầu

Tính \((a\ *\ b) \bmod c\)

Dữ liệu

  • Dòng 1 chứa 2 số nguyên dương \(a\)\(b\) (\(a,b \leq 10^{18}\));

  • Dòng 2 ghi số nguyên dương \(c\) ( \(c \leq 10^9\) ).

Kết quả

In ra \((a\ *\ b) \bmod c.\)

Ví dụ

Input Output
10 3
4
2
5 5
4
1