#include <bits/stdc++.h>
#define rep(i,n) for (int i = 0; i < (n); i++)
using namespace std;
typedef long long ll;

const int INF = 1001001001;
const int mod = 1000000007;

ll pow(ll base, ll order) {
	ll ans = 1;
	rep(i,order - 1) ans *= base;
	return ans;
}

int gcd(int a, int b) {
	if (a < b) {
		int c = a;
		a = b;
		b = c;
	}
	if (b == 0) return a;
	return gcd (b, a % b);
}

ll sum(ll x) { // sum of subsequent numbers from 0 to x
	return x*(x + 1)/2;
}

int main() {
	int n;
	cin >> n;

	vector<string> ordered(n);
	queue<string> que;
	rep(i,n) {
		string s;
		cin >> ordered.at(i);
	}
	sort(ordered.begin(), ordered.end());
	//rep(i,n) cout << ordered.at(i) << endl;
	rep(i,n) que.push(ordered.at(i));

	int kind = 0;
	while (!que.empty()) {
		string ref;
		ref = que.front(); que.pop();
		kind++;
		int current_size = que.size();
		rep(i,current_size) {
			string current = que.front();
			if (ref == current) que.pop();
			else break;
		}
	}
	cout << kind << endl;
}
