#include<bits/stdc++.h>
#define int long long
using namespace std;
struct __{
int val = 0 , id ;
} b[55] ;
int n , m , q , w[55] , v[55] ;
signed main(){
cin >> n >> m >> q ;
for( int i = 1 ; i <= n ; i ++ ){
cin >> w[i] >> v[i] ;
}
for( int i = 1 ; i <= m ; i ++ ){
cin >> b[i].val ;
b[i].id = i ;
}
sort( b + 1 , b + 1 + m , [](__ a,__ b){return a.val<b.val;} ) ;
for( int i = 1 ; i <= q ; i ++ ){
bool vis[55] ;
memset( vis , 0 , sizeof( vis ) ) ;
int l , r , get = 0 , ans = 0 ;
cin >> l >> r ;
for( int j = 1 ; j <= m ; j ++ ){
if( b[j].id >= l && b[j].id <= r ) continue ;
for( int k = 1 ; k <= n ; k ++ ){
if( !vis[k] && w[k] <= b[j].val && v[k] > v[get] ){
get = k ;
}
}
vis[get] = true ;
ans += v[get] ;
}
cout << ans << '\n' ;
}
return 0 ;
}