import java.util.*;
import java.lang.*;

public class Main{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		String[] s = new String[n];
		for (int i = 0; i < n; i++) {
			s[i] = sc.next();
			s[i] = sort(s[i]);
		}
		HashMap<String, Long> map = new HashMap<String, Long>();
		for (int i = 0; i < n; i++) {
			if (!map.containsKey(s[i])) {
				map.put(s[i], 1L);
			} else {
				map.put(s[i], map.get(s[i]) + 1);
			}
		}
		long ans = 0;
		for (String key : map.keySet()) {
			ans += map.get(key) * (map.get(key) - 1) / 2;
		}
		System.out.println(ans);
	}
	static String sort(String s) {
		for (int i = 0; i < 10; i++) {
			for (int j = i; j < 10; j++) {
				char a = s.charAt(i);
				char b = s.charAt(j);
				if (a > b) {
					s = s.substring(0, i) + b + s.substring(i + 1, j) + a + s.substring(j + 1);
				}
			}
		}
		return s;
	}
}
/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz