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

public class Main {
    private static int[] likes;
    private static HashMap<Integer, List<Integer>> likeMap;

    public static void main(String[] args){
        Scanner in = new Scanner(System.in);

        while(in.hasNext()){
            // solution1(in);
            solution2(in);
        }
    }

    /**
     * 模拟法: 二分优化
     * @param in
     */
    private static void solution1(Scanner in){
        int n = in.nextInt();
        likes = new int[n+1];
        likeMap = new HashMap<>();
        
        int like;
        List<Integer> list;
        for(int i=1; i<=n; i++){
            like = in.nextInt();
            list = likeMap.get(like);
            if(list != null){
                list.add(i);
                likeMap.put(like, list);
            }else{
                likeMap.put(like, new ArrayList<>(Collections.singletonList(i)));
            }
        }

        int queries = in.nextInt();
        int left, right, k;
        for(int i=1; i<=queries; i++){
            left = in.nextInt();
            right = in.nextInt();
            k = in.nextInt();
            System.out.println(query(left, right, k));
        }
    }

    private static int query(int left, int right, int k){
        int count = 0;

        List<Integer> list = likeMap.get(k);
        if(list == null){
            return 0;
        }
        // 寻找第一个大于等于left的索引
        else{
            int l = 0;
            int r = list.size()-1;
            while(l <= r){
                int mid = (l+r)>>1;
                if(list.get(mid) > left) {
                    r = mid-1;
                }else if((list.get(mid) < left)){
                    l = mid+1;
                }else{
                    l = mid;
                    break;
                }
            }

            for(int i=l; i<list.size(); i++){
                if(list.get(i) <= right){
                    count++;
                }
            }
            return count;
        }
    }

    
    /**
     * 模拟法: 暴力法
     * @param in
     */
    private static void solution2(Scanner in){
        int n = in.nextInt();
        likes = new int[n+1];

        for(int i=1; i<=n; i++){
            likes[i] = in.nextInt();
        }

        int queries = in.nextInt();

        int left, right, k;
        for(int i=1; i<=queries; i++){
            left = in.nextInt();
            right = in.nextInt();
            k = in.nextInt();
            System.out.println(find(left, right, k));
        }
    }

    private static int find(int left, int right, int k){
        int count = 0;
        for(int i=left; i<=right; i++){
            if(likes[i] == k){
                count++;
            }
        }

        return count;
    }
}