#include <bits/stdc++.h>
using namespace std;
long long k, l, r, p, h, ans;
int t;
long long pow(long long a, long long b, long long md) {
  long long t = 1;
  while (b) {
    if (b & 1) t = (t * a) % md;
    a = a * a % md;
    b >>= 1;
  }
  return t;
}
int main() {
  scanf("%d", &t);
  for (int i = 1; i <= t; i++) {
    cin >> k >> l >> r >> p;
    h = pow(k, pow(2, l, p - 1) + p - 1, p);
    if (h == 0)
      ans = 1;
    else if (h == 1)
      ans = pow(2, r - l + 1, p);
    else
      ans = (pow(k, pow(2, r + 1, p - 1) + p - 1, p) + p - 1) *
            pow(h - 1, p - 2, p) % p;
    if (k & 1) ans *= pow(pow(2, r - l, p), p - 2, p);
    ans %= p;
    cout << ans << endl;
  }
  return 0;
}
