#include<bits/stdc++.h>
using namespace std;
long long int n,a,b;
long long int x,y,sum;
vector<long long int> c,d;
map<long long int,long long int> mp1;
map<long long int,long long int> mp2;
int main()
{
cin >> n >> a >> b;
for(int i=0;i<a;i++)
{
cin >> x >> y;
mp1[x]=y;
c.push_back(x);
}
for(int i=0;i<b;i++)
{
cin >> x >> y;
mp2[x]=y;
d.push_back(x);
}
if(a<=b)
{
for(int i=0;i<a;i++)
{
if(mp2[c[i]]!=0)
sum+=mp1[c[i]]*mp2[c[i]];
}
}
else
{
for(int j=0;j<b;j++)
{
if(mp1[d[j]]!=0)
sum+=mp1[d[j]]*mp2[d[j]];
}
}
cout << sum;
return 0;
}
用动态数组存储维度,用map存储对应维度上的数,如果不存在该维度,则为0.