#include<iostream> using namespace std; struct { int a; double b; }poly[1001]; double a[2001];//至少2000个位置 int main(){ int n,m,cnt=0,aa; double bb; cin>>n; for(int i=0;i<n;i++){ cin>>poly[i].a>>poly[i].b; } cin>>m; for(int i=0;i<m;i++){ int aa; double bb; cin>>aa>>bb; for(int j=0;j<n;j++){ a[poly[j].a+aa]+=poly[j].b*bb; //这句蛮灵性的 ,仅此 } } for(int i=0;i<=2000;i++) if(a[i]!=0)cnt++; cout<<cnt; for(int i=2000;i>=0;i--){ if(a[i]!=0){ printf(" %d %.1f",i,a[i]); } } }