#include using namespace std; #define fixed(n) fixed << setprecision(n) #define ceil(n, m) (((n) / (m)) + ((n) % (m) ? 1 : 0)) #define add_mod(a, b, m) (((a % m) + (b % m)) % m) #define sub_mod(a, b, m) (((a % m) - (b % m) + m) % m) #define mul_mod(a, b, m) (((a % m) * (b % m)) % m) #define all(vec) vec.begin(), vec.end() #define rall(vec) vec.rbegin(), vec.rend() #define sz(x) int(x.size()) #define debug(x) cout << #x << ": " << (x) << "\n"; #define fi first #define se second #define ll long long #define ull unsigned long long #define Mod 1'000'000'007 #define EPS 1e-9 constexpr int INF = 1 << 30; constexpr ll LINF = 1LL << 62; #define PI acos(-1) template < typename T = int > using Pair = pair < T, T >; vector < string > RET = {"NO", "YES"}; template < typename T = int > istream& operator >> (istream &in, vector < T > &v) { for (auto &x : v) in >> x; return in; } template < typename T = int > ostream& operator << (ostream &out, const vector < T > &v) { for (const T &x : v) out << x << ' '; return out; } // the students the get the maximum degree in each subject // remove the duplicates students vector < int > students_marks(string& s){ vector < int > ret; for(auto& c : s) ret.push_back(c - '0'); return ret; } void Solve(){ int n, m; cin >> n >> m; vector < vector < int > > marks(n, vector < int > (m)); for(int i = 0; i < n; i++){ string marks_for_student; cin >> marks_for_student; marks[i] = students_marks(marks_for_student); } vector < int > max_degree(m, INT_MIN); for(int subject = 0; subject < m; subject++) for(int student = 0; student < n; student++) max_degree[subject] = max(max_degree[subject], marks[student][subject]); set < int > successful; for(int subject = 0; subject < m; subject++) for(int student = 0; student < n; student++) if(marks[student][subject] == max_degree[subject]) successful.insert(student); cout << sz(successful) << '\n'; } int main(){ ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr); int test_cases = 1; // cin >> test_cases; for(int tc = 1; tc <= test_cases; tc++){ // cout << "Case #" << tc << ": "; Solve(); } return 0; }