#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define REP(i, n) for(ll i = 0; i < (ll)(n); ++i)
#define FOR(i, a, b) for(ll i=(a); i < (ll)(b); ++i)
template<class T> inline bool chmax(T& a, T b) { if(a < b){ a=b; return 1; } return 0;}
template<class T> inline bool chmin(T& a, T b) { if(a > b){ a=b; return 1; } return 0;}

struct bag{
	ll w,v;
};

struct Box{
	ll num,x;
};

bool compbag(bag& a, bag& b){
	return a.v > b.v;
}

bool compbox(Box& a, Box& b){
	return a.x < b.x;
}

int main(){
	int n,m,q;
	cin >> n >> m >> q;
	vector<bag> b(n);
	REP(i,n) cin >> b[i].w >> b[i].v;
	sort(b.begin(), b.end(), compbag);
	vector<Box> box(m);
	REP(i,m){
		cin >> box[i].x;
		box[i].num = i;
	}
	sort(box.begin(), box.end(), compbox);
	REP(query,q){
		int l,r;
		cin >> l >> r;
		l--; r--;
		
		ll ans=0;
		vector<bool> emp(m,true);
		REP(i,n){
			REP(j,m){
				if(l <= box[j].num && box[j].num <= r)continue;
				
				if(emp[j] && b[i].w <= box[j].x){
					emp[j] = false;
					ans +=  b[i].v;
					break;
				}
			}
		}
		
		cout << ans << endl;
	}
	
	
	return 0;
}
#include <iostream>
#include <bits/stdc++.h>
#define ll long long
using namespace std;

void solve(){
    int x,y,z;
    cin>>x>>y>>z;
    for(int i=1000000;i>=0;i--){
        if(i*x < y*z){
            cout<<i;
            return;
        }
    }
}  
int main(){
    ios::sync_with_stdio(0);
            cin.tie(0);
            cout.tie(0);
            cout<<fixed;
            cout<<setprecision(10);
    //        freopen("timber_input.txt", "r", stdin);
    //        freopen("timber_output.txt", "w", stdout);
            int t=1;
            // cin>>t;
            for(int i=1;i<=t;i++){
            //    cout<<"Case #"<<i<<": ";  
                solve();
    }
    return 0;
}


