#include #include #include #include using namespace std; map, int> ma; set, int> > S; int n, a, b, c, ret; int gcd (int a, int b) { if (a == 0 || b == 0) return max(a, b); return __gcd(a, b); } int main(int argc, const char * argv[]) { cin >> n; for(int i = 0; i < n; i++) { cin >> a >> b >> c; if (a < 0 || (a == 0 && b < 0)) { a *= -1; b *= -1; c *= -1; } int g = gcd(gcd(abs(a), abs(b)), abs(c)); a /= g; b /= g; c /= g; pair, int> li = make_pair(make_pair(a, b), c); if (S.find(li) == S.end()) { S.insert(li); g = gcd(abs(a), abs(b)); a /= g; b /= g; ret = max(ret, ++ma[make_pair(a, b)]); } } cout << ret << endl; return 0; }