fun main(args: Array<String>) {
    val n = readLine()!!.toInt()

    val anagramMap = mutableMapOf<Map<Char, Int>, Int>()

    // アナグラムを求める
//    // TLE 単純に辞書を使うだけではだめ？？
//    for ( i in 0 until n) {
//        val charMap = mutableMapOf<Char, Int>()
//        val text = readLine()!!
//        for ( c in text) {
//            charMap[c] = if(charMap[c] == null) 1 else charMap[c]!! + 1
//        }
//
//        anagramMap[charMap] = if(anagramMap[charMap] == null) 1 else anagramMap[charMap]!! + 1
//    }
//
//    var sum = 0L
//    for ( v in anagramMap.values) {
//        if ( v >=2 ) {
//            sum += v.toLong() * (v.toLong() - 1) / 2
//        }
//    }
//
//    println(sum)

    // ソートを検討

    val sMap = mutableMapOf<String, Int>()
    for ( i in 0 until n) {
        val text = readLine()!!.toList().sorted().joinToString()
        sMap[text] = if(sMap[text] == null) 1 else sMap[text]!! + 1
    }

    var sum = 0L
    for ( v in sMap.values) {
        if ( v >=2 ) {
            sum += v.toLong() * (v.toLong() - 1) / 2
        }
    }

    println(sum)

}