#include"bits/stdc++.h"
//#include"atcoder/all"
using namespace std;
//using namespace atcoder;
#pragma GCC target("avx2")
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
using ll = long long;
using ld = long double;
#define rep(i,m,n) for(ll i=(ll)m;i<(ll)n;i++)
#define drep(i,m,n) for(ll i=m-1;i>=n;i--)
#define Endl endl
#define pr(i,j) make_pair(i,j) 
#define isin(x,l,r) (l<=x&&x<r)
#define chmin(a,b) a=min(a,b)
#define chmax(a,b) a=max(a,b)
#define srt(ar) sort(ar.begin(),ar.end())
#define rev(ar) reverse(ar.begin(),ar.end())
const ll inf = 1e18;
const ld pi = 3.14159265358979;
//using mint = modint998244353;
int main() {
	ios::sync_with_stdio(false);
	cin.tie(nullptr);

	ll n;
	cin >> n;
	vector<string>ar(n);
	rep(i, 0, n)cin >> ar[i];
	set<string>s;
	rep(i, 0, n) {
		rep(j, i + 1, n) {
			s.insert(ar[i] + ar[j]);
			s.insert(ar[j] + ar[i]);
		}
	}
	cout << s.size() << Endl;
}