#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define LL long long #define INF 0x3f3f3f3f #define MOD 1000000007 #define eps 1e-6 #define MAXN 100010 #define MAXM 41 #define dd {cout<<"debug"<= l; i --) #define doe(i, x) for(i = 1; i <= x; i ++) int n; int f[MAXN]; map mp; // string name; char name[MAXM]; // int main() // { // int num = 0; // cin >> n; // for(int i = 0; i < n; i ++) // { // cin >> name; // sort(name.begin(), name.end()); // if(mp.find(name) == mp.end()) // mp[name] = num ++; // cout << f[mp[name]] ++ << endl; // } // return 0; // } int main() { scanf("%d", &n); for(int i = 0; i < n; i ++) { scanf("%s", name); sort(name, name + strlen(name)); printf("%d\n", mp[name] ++); } return 0; }