function product_Range(a,b) {
    var prd = a,i = a;

    while (i++< b) {
        prd*=i;
    }
    return prd;
}
  
  
function combinations(n, r) 
{
    if (n==r) 
    {
        return 1;
    } 
    else 
    {
        r=(r < n-r) ? n-r : r;
        return product_Range(r+1, n)/product_Range(1,n-r);
    }
}
  
// inputに入力データ全体が入る
function Main(input) {
	// 1行目がinput[0], 2行目がinput[1], …に入る
	input = input.split("\n");
	tmp = input[0].split(" ");
    var N = Number(tmp[0])
    s = []
    for(var i=1; i<=N; i++)
    {
        s.push(input[i])
    }
    for(var i=0; i<N; i++)
    {
        s[i] = s[i].split("").sort().join("")
    }
    s.sort()

    var source = s[0]
    var matchCnt=0
    var ans=0
    for(var i=1; i<N; i++)
    {
        if(s[i] === source)
        {
            matchCnt++
        }else{
            if(matchCnt>0){
                ans+=combinations(matchCnt+1, 2)
            }
            matchCnt=0
            source = s[i]
        }
    }
    if(matchCnt>0){
        ans+=combinations(matchCnt+1, 2)
    }

    console.log(ans)
}
//*この行以降は編集しないでください（標準入出力から一度に読み込み、Mainを呼び出します）
Main(require("fs").readFileSync("/dev/stdin", "utf8"));