import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {

        List<Integer> primes = calcPrimes(1_000);
        Scanner in = new Scanner(System.in);
        int N = in.nextInt();
        int prefix[][] = new int[N][primes.size()];
        {//first
            int number = in.nextInt();
            int[] rozklad = rozlozit(number, primes);
            prefix[0] = rozklad;
        }
        for (int i = 1; i<N;i++){
            int number = in.nextInt();
            int[] rozklad = rozlozit(number, primes);
            for (int j = 0; j < rozklad.length; j++){
                rozklad[j] += prefix[i-1][j];
            }
            prefix[i] = rozklad;
        }
        int Q = in.nextInt();
        for (int i = 0; i < Q; i++){
            boolean OK = true;
            int from = in.nextInt() -1;
            int to = in.nextInt() -1;
            int labs = in.nextInt();
            int[] rozklad = rozlozit(labs, primes);
            for (int j = 0; j < rozklad.length && OK; j++){
                int xx;
                if (from == 0 || from == to){
                    xx = rozklad[j] - (prefix[to][j]);
                } else {
                    xx = rozklad[j] - (prefix[to][j] - prefix[from-1][j]);
                }
                if (xx > 0){
                    OK = false;
                }
            }
            if (OK){
                System.out.println("Yes");
            } else {
                System.out.println("No");
            }
        }
    }

    private static int[] rozlozit(int number, List<Integer> primes) {
        int[] rozklad = new int[primes.size()];
        for (int i = 0; i<primes.size() && number!=1; i++){
            while(number%primes.get(i)==0){
                number /= primes.get(i);
                rozklad[i]++;
            }
        }
        return rozklad;
    }

    private static List<Integer> calcPrimes(int size) {
        List<Integer> result = new ArrayList<>();
        boolean[] field = new boolean[1000];
        for (int i = 2; i< size;i++){
            if (!field[i]){
                for (int j = 2*i; j < size; j+=i){
                    field[j] = true;
                }
            }
        }
        for (int i = 2; i< size;i++){
            if (!field[i]){
                result.add(i);
            }
        }
        return result;

    }
}