//package Round620;

import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Scanner;

/**
 * @author sguar <shugangcao@gmail.com>
 * welcome to kuaishou
 * Created on 2020-02-17
 */
public class E {
    ArrayList<Integer>[] path;
    int[][] familyTree;
    int[] deep;

    void build(int son, int fa) {
        deep[son] = deep[fa] + 1;
        familyTree[son][0] = fa;
        for (int i = 1; i < 20; i++) {
            familyTree[son][i] = familyTree[familyTree[son][i - 1]][i - 1];
        }

        for (int next : path[son]) {
            if (next != fa) {
                build(next, son);
            }
        }
    }

    int lca(int v, int u) {
        for (int k = 19; k >= 0; k--) {
            if (deep[v] - (1 << k) >= deep[u]) v = familyTree[v][k];
            if (deep[u] - (1 << k) >= deep[v]) u = familyTree[u][k];
        }

        for (int k = 19; k >= 0; k--) {
            if (familyTree[v][k] != familyTree[u][k]) {
                v = familyTree[v][k];
                u = familyTree[u][k];
            }
        }
        if (v == u) return v;
        return familyTree[v][0];
    }

    int dist(int v, int u) {
        int lca = lca(v, u);
        return deep[v] + deep[u] - 2 * deep[lca];
    }

    public static void main(String[] args) {
        new E().run();
    }

    Scanner cin = new Scanner(System.in);
    PrintWriter out = new PrintWriter(System.out);

    private void run() {
        int n = cin.nextInt();

        path = new ArrayList[n + 1];
        for (int i = 1; i <= n; i++) path[i] = new ArrayList<>();
        deep = new int[n + 1];
        familyTree = new int[n + 1][20];

        for (int i = 1; i <= n - 1; i++) {
            int w = cin.nextInt();
            int v = cin.nextInt();
            path[w].add(v);
            path[v].add(w);
        }

        deep[1] = -1;
        build(1, 1);

        int q = cin.nextInt();
        for (int i = 1; i <= q; i++) {
            int x = cin.nextInt();
            int y = cin.nextInt();
            int a = cin.nextInt();
            int b = cin.nextInt();
            int k = cin.nextInt();

            int lenAB = dist(a, b);
            if (k >= lenAB && (k - lenAB) % 2 == 0) {
                out.println("YES");
                continue;
            }
            int lenAX = dist(a, x);
            int lenXB = dist(x, b);
            int lenAY = dist(a, y);
            int lenYB = dist(y, b);

            if ((k - lenAX - lenYB >= 1 && (k - lenAX - lenYB - 1) % 2 == 0)) {
                out.println("YES");
                continue;
            }

            if ((k - lenAY - lenXB >= 1 &&  (k - lenAY - lenXB - 1) % 2 == 0)) {
                out.println("YES");
                continue;
            }

            out.println("NO");
        }
        out.close();
    }
}
