#include<iostream> #include<string> #include<queue> #include<vector> #include<cassert> #include<random> #include<set> #include<map> #include<cassert> #include<unordered_map> #include<bitset> #include<numeric> #include<algorithm> using namespace std; typedef long long ll; const int inf=1<<30; const ll INF=1LL<<62; typedef pair<int,ll> P; typedef pair<int,P> PP; const ll MOD=998244353; ll gcd(ll a,ll b){ if(b==0) return a; return gcd(b,a%b); } int main(){ int a,b; cin>>a>>b; vector<ll> T(a),S(b); for(int i=0;i<a;i++)cin>>T[i]; for(int i=0;i<b;i++)cin>>S[i]; ll g=0; for(int i=0;i<a;i++){ g=gcd(T[i],g); } for(int i=0;i<b;i++){ if(S[i]%g!=0){ cout<<"No"<<endl; return 0; } } cout<<"Yes"<<endl; }