#include #include #include #include #include #include #include using namespace std; struct Tot { short sum[26]; Tot() { memset( sum , 0 , sizeof sum ); } friend bool operator < ( const Tot &a , const Tot &b ) { for( int i = 0 ; i < 26 ; i++ ) if( a.sum[i] < b.sum[i] ) return 1; else if( a.sum[i] > b.sum[i] ) return 0; return 0; } }; map < Tot , int > m; int main() { int n; char s[50]; scanf( "%d" , &n ); while( n-- ) { scanf( "%s" , s ); Tot tot; for( int i = 0 , len = strlen( s ) ; i < len ; i++ ) tot.sum[s[i]-'A']++; printf( "%d\n" , m[tot] ); m[tot]++; } return 0; }