#1120. 函数一连串

函数一连串

Description

现有两个函数 F 和 G ,定义如下:

void F(int &x) {
    x ^= x & (x << 3);
    x ^= x & (x >> 2);
    x %= 65536;
}

void G(int &x) {
    x ^= x  & (x << 2);
    x ^= x  & (x >> 3);
    x %= 65536;
}

现在给出一仅包含 FG 的字符串 s 以及一个正整数 x ,请输出按照字符串从左到右的顺序对 x 调用相应函数的最终结果。

例如,若字符串为 FFGF ,则需要依次执行:

F(x);
F(x);
G(x);
F(x);

并输出最终结果。

Input Format

第一行包含一个字符串 s 以及一个正整数 x(1s105)(1x65535)

## Output Format

输出共一行,仅包含一个非负整数,表示答案。

```input1 FFGF 13 ``` ```output1 4 ```