#include <iostream>
#include<bits/stdc++.h>
using namespace std;
double x1,x2,y2,y_1,dist;
bool lies_in_range(double x,double y)
{
double dist1= sqrt((y-y_1)*(y-y_1)+(x-x1)*(x-x1));
double dist2=sqrt((y-y2)*(y-y2)+(x-x2)*(x-x2));
//cout<<"hello world\n";
//cout<<dist<<" "<<dist1+dist2<<endl;
if((dist1+dist2)==dist){
cout<<"y no cor\n";
return true;
}
else{
cout<<"not equal\n";
return false;
}
}
int main()
{
double a1,b1,c1,pt_x,pt_y;
double a2,b2,c2;
int n,cnt=0;
cin>>x1>>y_1;
cin>>x2>>y2;
double det;
a2=-(y2-y_1);b2=x2-x1;c2=y_1*(x2-x1)-x1*(y2-y_1);
dist=sqrt((y2-y_1)*(y2-y_1)+(x2-x1)*(x2-x1));
cin>>n;
for(int i=0;i<n;i++){
cin>>a1>>b1>>c1;
det = a1*b2 - a2*b1;
if(det == 0){
continue;
}else{
pt_x = (b2*c1 - b1*c2)/det;
pt_y = (a1*c2 - a2*c1)/det;
// cout<<pt_x<<" "<<pt_y<<endl;
if(lies_in_range(pt_x,pt_y)){
cnt++;
}
}
}
cout<<cnt<<"\n";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCgpkb3VibGUgeDEseDIseTIseV8xLGRpc3Q7Cgpib29sIGxpZXNfaW5fcmFuZ2UoZG91YmxlIHgsZG91YmxlIHkpCnsKICAgZG91YmxlIGRpc3QxPSBzcXJ0KCh5LXlfMSkqKHkteV8xKSsoeC14MSkqKHgteDEpKTsKICAgZG91YmxlIGRpc3QyPXNxcnQoKHkteTIpKih5LXkyKSsoeC14MikqKHgteDIpKTsKICAgLy9jb3V0PDwiaGVsbG8gd29ybGRcbiI7CiAgIC8vY291dDw8ZGlzdDw8IiAiPDxkaXN0MStkaXN0Mjw8ZW5kbDsKICAgaWYoKGRpc3QxK2Rpc3QyKT09ZGlzdCl7CiAgICAgICAgIGNvdXQ8PCJ5IG5vIGNvclxuIjsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CiAgICBlbHNlewogICAgICAgIGNvdXQ8PCJub3QgZXF1YWxcbiI7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KfQoKCmludCBtYWluKCkKewogICAKICAgIGRvdWJsZSBhMSxiMSxjMSxwdF94LHB0X3k7CiAgICBkb3VibGUgYTIsYjIsYzI7CgogICAgaW50IG4sY250PTA7CiAgICBjaW4+PngxPj55XzE7CiAgICBjaW4+PngyPj55MjsKICAgIGRvdWJsZSBkZXQ7CiAgICBhMj0tKHkyLXlfMSk7YjI9eDIteDE7YzI9eV8xKih4Mi14MSkteDEqKHkyLXlfMSk7CiAgICBkaXN0PXNxcnQoKHkyLXlfMSkqKHkyLXlfMSkrKHgyLXgxKSooeDIteDEpKTsKICAgIGNpbj4+bjsKICAgIGZvcihpbnQgaT0wO2k8bjtpKyspewogICAgICAgIGNpbj4+YTE+PmIxPj5jMTsKICAgICAgICBkZXQgPSBhMSpiMiAtIGEyKmIxOwogICAgICAgIGlmKGRldCA9PSAwKXsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgfWVsc2V7CiAgICAgICAgcHRfeCA9IChiMipjMSAtIGIxKmMyKS9kZXQ7CiAgICAgICAgcHRfeSA9IChhMSpjMiAtIGEyKmMxKS9kZXQ7CiAgICAgLy8gIGNvdXQ8PHB0X3g8PCIgIjw8cHRfeTw8ZW5kbDsKICAgICAgICBpZihsaWVzX2luX3JhbmdlKHB0X3gscHRfeSkpewogICAgICAgICAgICBjbnQrKzsKICAgICAgICB9CiAgICB9CiAgICB9CiAgICBjb3V0PDxjbnQ8PCJcbiI7CiAgICByZXR1cm4gMDsKfQo=