#include using namespace std; #define FOR(i,a,b) for(int i=(a);i<(b);++i) #define rep(i, n) for(int i = 0; i < (int)(n); i++) #define all(x) (x).begin(),(x).end() inline int toInt(string s) {int v; istringstream sin(s);sin>>v;return v;} long long gcd( long long m, long long n ){ if ( n == 0) return m; return gcd(n,m%n); }//gcd long long lcm( long long m, long long n ){ // 引数に0がある場合は0を返す if ( ( 0 == m ) || ( 0 == n ) ) return 0; return ((m / gcd(m, n)) * n); // lcm = m * n / gcd(m,n) }//lcm int main(){ int a,b; cin >> a; long long num1 = 1,num2 = 1; rep(i,a){ long long input; cin >> input; if(i == 0) num1 *= input; else num2 *= input; } cin >> b; rep(i,b){ long long input; cin >> input; if(i == 0) num2 *= input; else num1 *= input; } long long gcdNum = gcd(num1,num2); //cout << gcdNum << endl; num1 /= gcdNum; num2 /= gcdNum; if(num2 < 0){ num1 *= -1; num2 *= -1; } cout << num1 << ' ' << num2 << endl; return 0; }