
由于有高精度,用JAVA寫。。。第一次寫正規的JAVA,哭暈
import java.util.Scanner;
import java.math.BigInteger;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
BigInteger[] a = new BigInteger[1055];
BigInteger[] b = new BigInteger[1055];
a[1] = BigInteger.valueOf(1);
a[2] = BigInteger.valueOf(2);
b[1] = a[1].subtract(BigInteger.valueOf(1));
b[2] = a[2].subtract(BigInteger.valueOf(1));
for (int i = 3; i < 1050; ++i) {
a[i] = a[i - 1].add(a[i - 2]);
b[i] = a[i].subtract(BigInteger.valueOf(1));
}
while (N > 0) {
N--;
int n = sc.nextInt();
BigInteger m = sc.nextBigInteger();
for (int i = 1; i < 1050; ++i) {
// System.out.println(a[i]);
if (m.compareTo(b[i + 1]) < 0 && m.compareTo(b[i]) >= 0) {
System.out.println((m.subtract(a[i - 1])).mod(BigInteger
.valueOf(258280327)));
break;
}
}
}
}
}