2567: T2-不太随机的随机数列

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:41 解决:8

题目描述

33DAI 想要生成一个比较随机的数列,但是他忘记了比较好的随机数生成器该怎么写了,于是写下了下面这串代码。
#include <bits/stdc++.h>
using namespace std;
int main()
{
    int seed = 33;
    while (true)
    {
        cout << seed << "\n";
        seed = seed * seed % 233;
    }
    return 0;
}
显然这串代码在运行后会陷入死循环,一直不停地输出,每行会输出一个整数。请你帮他算算他输出的第 $x$ 行是多少。

输入

第一行一个整数 $x$。

输出

输出一个整数,即上面代码输出的第 $x$ 行的内容。

样例输入 复制

1

样例输出 复制

33

提示

```input2
3
```

```output2
184
```

```input3
16
```

```output3
46
```

## 样例解释

上方代码输出的前 16 行如下:

```
33
157
184
71
148
2
4
16
23
63
8
64
135
51
38
46
```

## 数据规模与约定

对于 $100\%$ 的数据,$1 \le x \le 10^{12}$。

- 子任务 1(30 分):$1\le x\le 100$
- 子任务 2(30 分):$x = 10^9$
- 子任务 3(40 分):没有特殊限制。

来源/分类