测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A13119. #define Задача B ...

编程题 普及/提高-

题目描述

Компания «ВКонтакте» активно использует языки C/C++ для разработки движков. Старший разработчик Вася — большой любитель языка C, ведь только в нем можно полностью раскрыть потенциал Define-Oriented Programming. В языке C директива \#define позволяет сделать прямую подстановку куска кода в любое место программы. Например, при исполнении следующего кода значение переменной $v$ будет равно $11$ (в переменную $v$ запишется результат выражения $3 + 4 \cdot 2$ ).

```
<pre class="lstlisting">```
#define add(x) + x<br></br>#define mul(y) * y<br></br>int v = 3 add(4) mul(2);<br></br>
```
```

Недавно Вася написал небольшую программу, которая заполняет массив большой длины. Программа выглядит следующим образом:

```
<pre class="lstlisting">```
#define A0(x) x,<br></br>#define A1(x) A0(x) A0(x + 1) A0(x + 3) A0(x + 4)<br></br>#define A2(x) A1(x) A1(x + 1) A1(x + 3) A1(x + 4)<br></br>#define A3(x) A2(x) A2(x + 1) A2(x + 3) A2(x + 4)<br></br>#define A4(x) A3(x) A3(x + 1) A3(x + 3) A3(x + 4)<br></br>...<br></br>#define A24(x) A23(x) A23(x + 1) A23(x + 3) A23(x + 4)<br></br>#define A25(x) A24(x) A24(x + 1) A24(x + 3) A24(x + 4)<br></br><br></br>const long long values[1125899906842624] = { A25(0) };<br></br>
```
```

К сожалению, его программа не компилируется в силу несовершенства его компьютера, но ему очень интересно знать, какие значения лежали бы в массиве $values$ , если бы ему удалось скомпилировать и запустить программу. Помогите ему это узнать.

输入格式

В первой строке дано одно целое число $n$ ( $1 \le n \le 1\,000$ ) — количество элементов массива, значения которых интересуют Васю.

Следующие $n$ строк содержат $n$ целых чисел $pos_i$ ( $0 \le pos_i \le 1\,125\,899\,906\,842\,623$ ) — позиции, для которых нужно узнать значение в массиве.

输出格式

Выведите $n$ строк. В $i$ -й строке должно содержаться значение элемента массива на позиции $pos_i$ .

输入输出样例

输入 #1
5
0
1
3
5
8
输出 #1
0
1
4
2
3
上一题 去做题 下一题