#include <bits/stdc++.h>
using namespace std;
int main()
{
long long int b1,q,l,m,x,count=0,i=0;
cin >> b1 >> q >> l >> m ;
vector <int> vec;
for(;i<m;i++){
cin >> x;
vec.push_back(x);
}
sort(vec.begin(),vec.end());
x=b1;
while(abs(x)<=l){
if(b1==0){
if(find(vec.begin(),vec.end(),b1)!=vec.end())
{
cout << 0 ;return 0;
}
else{
cout << "inf" ;return 0;
}
}
if(q==1){
if(find(vec.begin(),vec.end(),b1)!=vec.end())
{
cout << 0 ;return 0;
}
else{
cout << "inf" ;return 0;
}
}
else if(q== -1){
if(find(vec.begin(),vec.end(),b1)!=vec.end() && find(vec.begin(),vec.end(),b1*q)!=vec.end())
{
cout << 0 ;return 0;
}
else{
cout << "inf" ;return 0;
}
}
else if(q==0){
if(find(vec.begin(),vec.end(),0)==vec.end()){
cout << "inf" ; return 0;
}
else if(find(vec.begin(),vec.end(),b1)!=vec.end()){
cout << 0 ; return 0;
}
else {
cout << 1 ; return 0;
}
}
else if( find(vec.begin(),vec.end(),x)!=vec.end() ){
x=x*q;
}
else{
count++;x=x*q;
}
}
cout << count ;
return 0;
}
CiNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKQp7CiAgICBsb25nIGxvbmcgaW50IGIxLHEsbCxtLHgsY291bnQ9MCxpPTA7CiAgICBjaW4gPj4gYjEgPj4gcSA+PiBsID4+IG0gOwogICAgdmVjdG9yIDxpbnQ+IHZlYzsKICAgIGZvcig7aTxtO2krKyl7CiAgICAgICAgY2luID4+IHg7CiAgICAgICAgdmVjLnB1c2hfYmFjayh4KTsKICAgIH0KICAgIHNvcnQodmVjLmJlZ2luKCksdmVjLmVuZCgpKTsKICAgIHg9YjE7CiAgICB3aGlsZShhYnMoeCk8PWwpewogICAgCWlmKGIxPT0wKXsKICAgIAkJaWYoZmluZCh2ZWMuYmVnaW4oKSx2ZWMuZW5kKCksYjEpIT12ZWMuZW5kKCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGNvdXQgPDwgMCA7cmV0dXJuIDA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZXsKICAgICAgICAgICAgICAgY291dCA8PCAiaW5mIiA7cmV0dXJuIDA7CiAgICAgICAgICAgIH0KICAgIAl9CiAgICAJaWYocT09MSl7CiAgICAgICAgICAgIGlmKGZpbmQodmVjLmJlZ2luKCksdmVjLmVuZCgpLGIxKSE9dmVjLmVuZCgpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBjb3V0IDw8IDAgO3JldHVybiAwOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2V7CiAgICAgICAgICAgICAgIGNvdXQgPDwgImluZiIgO3JldHVybiAwOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYocT09IC0xKXsKICAgICAgICAgICAgaWYoZmluZCh2ZWMuYmVnaW4oKSx2ZWMuZW5kKCksYjEpIT12ZWMuZW5kKCkgJiYgZmluZCh2ZWMuYmVnaW4oKSx2ZWMuZW5kKCksYjEqcSkhPXZlYy5lbmQoKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY291dCA8PCAwIDtyZXR1cm4gMDsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlewogICAgICAgICAgICAgICBjb3V0IDw8ICJpbmYiIDtyZXR1cm4gMDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBlbHNlIGlmKHE9PTApewogICAgICAgIAlpZihmaW5kKHZlYy5iZWdpbigpLHZlYy5lbmQoKSwwKT09dmVjLmVuZCgpKXsKICAgICAgICAJCWNvdXQgPDwgImluZiIgOyByZXR1cm4gMDsKICAgICAgICAJfQogICAgICAgIAllbHNlIGlmKGZpbmQodmVjLmJlZ2luKCksdmVjLmVuZCgpLGIxKSE9dmVjLmVuZCgpKXsKICAgICAgICAJCWNvdXQgPDwgMCA7IHJldHVybiAwOwogICAgICAgIAl9CiAgICAgICAgCWVsc2UgewogICAgICAgIAkJY291dCA8PCAxIDsgcmV0dXJuIDA7CiAgICAgICAgCX0KICAgICAgICAgICAgCiAgICAgICAgfQogICAgICAgIGVsc2UgaWYoIGZpbmQodmVjLmJlZ2luKCksdmVjLmVuZCgpLHgpIT12ZWMuZW5kKCkgKXsKICAgICAgICAgICAgIHg9eCpxOwogICAgICAgIH0KICAgICAgICBlbHNlewogICAgICAgICAgICBjb3VudCsrO3g9eCpxOwogICAgICAgIH0KICAgIH0KICAgIGNvdXQgPDwgY291bnQgOwogICAgcmV0dXJuIDA7Cn0K