#include using namespace std; typedef long long ll; long long gcd(long long a, long long b){ if(b==0) return a; return gcd(b,a%b); } signed main(){ ios::sync_with_stdio(false); cin.tie(0); cout << fixed << setprecision(20); ll n; cin>>n; ll a[n]; set st; for(int i=0;i>a[i]; for(ll j=1;j*j<=a[i];j++){ if(a[i]%j==0){ st.insert(a[i]/j); st.insert(j); } } } ll cnt=1; vector v; v.push_back(0); map mp; for(auto i:st){ v.push_back(i); mp[i] = cnt; cnt++; } int m = v.size(); ll dp[n+1][m+1] = {}; dp[0][0] = 1; for(int i=0;i