#include <cstdio>
#include <vector>
#include "evitata.h"

using namespace std;

const int kMaxN = 100010;

int main() {
    int n, q, s, f;
    scanf("%d%d%d%d", &n, &q, &s, &f);
    vector<long long> sol(q);
    vector<int> a(n - 1), b(n - 1), x(q), y(q);
    for (int i = 0; i < q; ++i) {
        sol[i] = -1;
    }
    for (int i = 0; i < n-1; ++i) {
        scanf("%d%d", &a[i], &b[i]);
    }
    for (int i = 0; i < q; ++i) {
        scanf("%d%d", &x[i], &y[i]);
    }
    solve(n, q, s, f, a, b, x, y, sol);
    for (int i = 0; i < q; ++i) {
        printf("%lld\n", sol[i]);
    }

    return 0;
}

