C1. Hacking Numbers (Easy Version)time limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputThis is the easy version of the problem. In this version, you can send at most $$$\mathbf{7}$$$ commands. You can make hacks only if all versions of the problem are solved.This is an interactive problem.Welcome, Duelists! In this interactive challenge, there is an unknown integer $$$x$$$ ($$$1 \le x \le 10^9$$$). You must make it equal to a given integer in the input $$$n$$$. By harnessing the power of "Mathmech" monsters, you can send a command to do one of the following: CommandConstraintResultCaseUpdateJury's response"add $$$y$$$"$$$-10^{18} \le y \le 10^{18}$$$$$$\mathrm{res} = x + y$$$$$$\text{if } 1 \le \mathrm{res} \le 10^{18}$$$$$$x \leftarrow \mathrm{res}$$$"1"$$$\mathrm{else}$$$$$$x \leftarrow x$$$"0""mul $$$y$$$"$$$1 \le y \le 10^{18}$$$$$$\mathrm{res} = x \cdot y$$$$$$\text{if } 1 \le \mathrm{res} \le 10^{18}$$$$$$x \leftarrow \mathrm{res}$$$"1"$$$\mathrm{else}$$$$$$x \leftarrow x$$$"0""div $$$y$$$"$$$1 \le y \le 10^{18}$$$$$$\mathrm{res} = x/y$$$$$$\text{if } y$$$ divides $$$x$$$$$$x \leftarrow \mathrm{res}$$$"1"$$$\mathrm{else}$$$$$$x \leftarrow x$$$"0""digit"—$$$\mathrm{res} = S(x)$$$$$$^{\text{∗}}$$$—$$$x \leftarrow \mathrm{res}$$$"1" You have to make $$$x$$$ equal to $$$n$$$ using at most $$$\mathbf{7}$$$ commands.$$$^{\text{∗}}$$$$$$S(n)$$$ is a function that returns the sum of all the individual digits of a non-negative integer $$$n$$$. For example, $$$S(123) = 1 + 2 + 3 = 6$$$InputEach test contains multiple test cases. The first line contains the number of test cases $$$t$$$ ($$$1 \le t \le 5000$$$). The description of the test cases follows. The first and only line of each test case contains one integer $$$n$$$ ($$$1 \le n \le 10^9$$$).InteractionThe interaction for each test case begins by reading the integer $$$n$$$.To send a command, output a line in the following format: "add $$$y$$$" Add some integer $$$y$$$ ($$$-10^{18} \le y \le 10^{18}$$$) to $$$x$$$. The jury will output "1" if $$$x + y$$$ is within $$$[1, 10^{18}]$$$ (successful), and "0" otherwise. If successful, update $$$x \leftarrow x + y$$$. "mul $$$y$$$" Multiply $$$x$$$ by a positive integer $$$y$$$ ($$$1 \le y \le 10^{18}$$$). The jury will output "1" if $$$x \cdot y$$$ is within $$$[1, 10^{18}]$$$ (successful), and "0" otherwise. If successful, update $$$x \leftarrow x \cdot y$$$. "div $$$y$$$" Divide $$$x$$$ by a positive integer $$$y$$$ ($$$1 \le y \le 10^{18}$$$). The jury will output "1" if $$$y$$$ is a divisor of $$$x$$$ (successful), and "0" otherwise. If successful, update $$$x \leftarrow \frac{x}{y}$$$. "digit" Make $$$x$$$ equal to the sum of its digits. The jury will always output "1" and update $$$x \leftarrow S(x)$$$.Note that commands are case sensitive. When you have determined that $$$x$$$ is equal to $$$n$$$, output a line in the following format: "!" — where the jury will output a "1" if $$$n$$$ is equal to $$$x$$$, and "-1" otherwise. Note that answering does not count toward your limit of $$$\mathbf{7}$$$ commands.If your program makes more than $$$\mathbf{7}$$$ commands for one test case, or makes an invalid command, then the response to the command will be "-1". After receiving such a response, your program should immediately terminate to receive the verdict Wrong Answer. Otherwise, it may receive any other verdict.After printing a command, do not forget to output the end of the line and flush the output. Otherwise, you will get Idleness limit exceeded. To do this, use: fflush(stdout) or cout.flush() in C++; System.out.flush() in Java; sys.stdout.flush() in Python; std::io::stdout().flush() in Rust; see the documentation for other languages. The interactor is non-adaptive. The unknown integer $$$x$$$ does not change during the interaction.HacksTo hack, use the following format.The first line should contain a single integer $$$t$$$ ($$$1 \leq t \leq 5000$$$) — the number of test cases.The first line of each test case should contain two positive integers $$$n$$$ and $$$x$$$ ($$$1 \leq n,x \leq 10^9$$$) — denoting the unknown integer and the target value to which it should be made equal, respectively.ExampleInput2
100
0
1
1
1
5
1
1
1Output
add -10
add 1
mul 10
!
digit
div 2
!Note SolutionJuryExplanation$$$\texttt{2}$$$There are 2 test cases.$$$\texttt{100}$$$In the first test case, the unknown integer $$$x = 9$$$ and we have to make it equal to $$$n = 100$$$.$$$\texttt{add -10}$$$$$$\texttt{0}$$$The answer to "add -10" is "0". This means that the addition command was not successful as $$$x + y = 9 + (-10) \le 0$$$, and $$$x$$$ remains $$$9$$$ after the command$$$\texttt{add 1}$$$$$$\texttt{1}$$$The answer to "add 1" is "1". This means that the addition command was successful as $$$x + y = 9 + 1 = 10$$$, and $$$x$$$ changes to $$$10$$$ after the command.$$$\texttt{mul 10}$$$$$$\texttt{1}$$$The answer to "mul 10" is "1". This means that the multiplication command was successful as $$$x \cdot y = 10 \cdot 10 = 100$$$, and $$$x$$$ changes to $$$100$$$ after the command.$$$\texttt{!}$$$$$$\texttt{1}$$$The answer to "!" is "1". This means you have determined that $$$x$$$ equals $$$n$$$.$$$\texttt{5}$$$In the second test case, the unknown integer $$$x = 1234$$$ and we have to make it equal to $$$n = 5$$$.$$$\texttt{digit}$$$$$$\texttt{1}$$$The answer to "digit" is "1". This means that $$$x$$$ turned into the sum of its digits $$$1 + 2 + 3 + 4 = 10$$$, and $$$x$$$ changes to $$$10$$$ after the command.$$$\texttt{div 2}$$$$$$\texttt{1}$$$The answer to "div 2" is "1". This means that the division command was successful as $$$y = 2$$$ is a divisor of $$$x = 10$$$, and $$$x$$$ changes to $$$\frac{x}{y} = \frac{10}{2} = 5$$$ after the command.$$$\texttt{!}$$$$$$\texttt{1}$$$The answer to "!" is "1". This means you have determined that $$$x$$$ equals $$$n$$$. Note that the empty lines in the example input and output are for the sake of clarity, and do not occur in the real interaction.