#include #include using namespace std; typedef long long ll; const int MAX = 1000010; constexpr ll mod = 1000000007; vector gcd_trans(vector &v){ int i,j,n = v.size(); vector used(n,true); for(i=2;i=1;j--){ used[j*i] = false; (v[j] += v[j*i]) %= mod; } } return v; } vector inv_gcd_trans(vector &v){ int i,j,n = v.size(); vector used(n,true); for(i=2;i a(3*MAX),b(3*MAX); int main(){ ll i,h,w; cin >> h >> w; for(i=1;i