F. Flamingoes of Mystery
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

This is an interactive problem. You have to use a flush operation right after printing each line. For example, in C++ you should use the function fflush(stdout), in Java — System.out.flush(), in Pascal — flush(output) and in Python — sys.stdout.flush().

Mr. Chanek wants to buy a flamingo to accompany his chickens on his farm. Before going to the pet shop, Mr. Chanek stops at an animal festival to have fun. It turns out there is a carnival game with a flamingo as the prize.

There are $N$ mysterious cages, which are numbered from $1$ to $N$. Cage $i$ has $A_i$ $(0 \le A_i \le 10^3)$ flamingoes inside $(1 \le i \le N)$. However, the game master keeps the number of flamingoes inside a secret. To win the flamingo, Mr. Chanek must guess the number of flamingoes in each cage.

Coincidentally, Mr. Chanek has $N$ coins. Each coin can be used to ask once, what is the total number of flamingoes inside cages numbered $L$ to $R$ inclusive? With $L < R$.

Input

Initially, the judge will give an integer $N$ $(3 \le N \le 10^3)$, the number of cages, and the number of coins Mr. Chanek has.

For each of your questions, the jury will give an integer that denotes the number of flamingoes from cage $L$ to $R$ inclusive.

Output

Then, you can ask at most $N$ questions. Questions are asked in the format "? L R", ($1 \le L < R \le N$).
To guess the flamingoes, print a line that starts with "!" followed by $N$ integers where the $i$-th integer denotes the number of flamingo in cage $i$. After answering, your program must terminate or will receive the "idle limit exceeded" verdict. You can only guess the flamingoes once.
6 5 15 10
 ? 1 2 ? 5 6 ? 3 4 ! 1 4 4 6 7 8
In the sample input, the correct flamingoes amount is $[1, 4, 4, 6, 7, 8]$.