func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long mod = 1e9 + 7;   long long dx[] = {-1, 0, 1, 0};   long long dy[] = {0, -1, 0, 1};   int32_t main() {     ios::sync_with_stdio(false);     cin.tie(0);     cout.tie(0);     long long b, q, l, m;     cin >> b >> q >> l >> m;     if (abs(b) > l) {       cout << 0 <<   n ;       return 0;     }     set<long long> st;     for (long long i = 0; i < m; i++) {       long long x;       cin >> x;       st.insert(x);     }     if (b == 0 || q == 0) {       if (0 <= l && st.find(0) == st.end()) {         cout <<  inf n ;         return 0;       } else if (abs(b) <= l && st.find(b) == st.end()) {         cout << 1 <<   n ;         return 0;       } else         cout << 0;       return 0;     }     if (q == 1) {       if (abs(b) <= l && st.find(b) == st.end()) {         cout <<  inf n ;       } else         cout << 0 <<   n ;       return 0;     } else if (q == -1) {       if (abs(b) <= l && (st.find(b) == st.end() || st.find(-b) == st.end())) {         cout <<  inf n ;       } else         cout << 0 <<   n ;       return 0;     }     vector<long long> v;     while (abs(b) <= l) {       if (st.find(b) == st.end()) v.push_back(b);       b = b * q;     }     cout << v.size() <<   n ;   }   