本题的核心是如何控制计算范围防止超界 可以分开计算乘除的累积,如果都相等着总运算结果相等

#include <iostream>
#include<bits/stdc++.h>
using namespace std;
const int mod = 1e7+9;
#define int long long

signed main()
{
    int m,f,s,sec=1,fir=1;
        
    for(int i=0;i<2;i++)
    {
        cin >> m;
        while(m --)
        {
            cin>> f >> s;
            if(f == 1) sec = sec*s%mod;
            else fir = fir*s%mod;
        }
        swap(sec,fir);      //乘除的交换累运算,如果相等则双方的乘除相等
    }
    
    cout<<(sec == fir ? "YES":"NO");
}