//set的成员函数find利用红黑树实现,logn复杂度
#include<string>
#include<iostream>
#include<set>
#include<stdio.h>
using namespace std;
set<string> s;
string inverse(string str)
{
int len=str.size();
int mid=len/2;
for(int i=0,j=len-1;i<mid;i++,j--)
swap(str[i],str[j]);
return str;
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
s.clear();
for(int i=0;i<n;i++)
{
string str;
cin>>str;
s.insert(str);
}
int sum=0;
set<string>::iterator it=s.begin();
while(it!=s.end())
{
string temp=inverse(*it);
if(s.find(temp)!=s.end())
{
sum++;
s.erase(temp);
}
it++;
}
printf("%d\n",sum);
}
}
#include<string>
#include<iostream>
#include<set>
#include<stdio.h>
using namespace std;
set<string> s;
string inverse(string str)
{
int len=str.size();
int mid=len/2;
for(int i=0,j=len-1;i<mid;i++,j--)
swap(str[i],str[j]);
return str;
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
s.clear();
for(int i=0;i<n;i++)
{
string str;
cin>>str;
s.insert(str);
}
int sum=0;
set<string>::iterator it=s.begin();
while(it!=s.end())
{
string temp=inverse(*it);
if(s.find(temp)!=s.end())
{
sum++;
s.erase(temp);
}
it++;
}
printf("%d\n",sum);
}
}