#include #define int long long using namespace std; signed main(){ int n, m, p; cin >> n >> m >> p; vector a(n); for(int i = 0; i < n; i++) cin >> a[i]; vector r; bool flag = true, flag2 = true; for(int i = 0; i < n; i++) { if(a[i] % p != 0) flag = false; if(a[i] % p == 0) r.push_back(a[i]); if(a[i] != 1) flag2 = false; } long long t = *max_element(r.begin(), r.end()); if(t > m){ cout << 1 << endl; return 0; } if(flag || flag2){ cout << -1 << endl; return 0; } vector b; for(int i = 0; i < n; i++){ if(a[i] % p != 0) b.push_back(a[i]); } long long s = *max_element(b.begin(), b.end()); int ans = 0; long long q = 1; while(q <= m){ q *= s; ans++; } cout << ans << endl; return 0; }