← Home
package main

import (
	"bufio"
	"fmt"
	"os"
)

type FastScanner struct {
	r *bufio.Reader
}

func NewFastScanner() *FastScanner {
	return &FastScanner{r: bufio.NewReaderSize(os.Stdin, 1<<20)}
}

func (fs *FastScanner) Next() string {
	buf := make([]byte, 0, 16)
	for {
		b, err := fs.r.ReadByte()
		if err != nil {
			return string(buf)
		}
		if b > ' ' {
			buf = append(buf, b)
			break
		}
	}
	for {
		b, err := fs.r.ReadByte()
		if err != nil || b <= ' ' {
			break
		}
		buf = append(buf, b)
	}
	return string(buf)
}

func main() {
	in := NewFastScanner()
	out := bufio.NewWriterSize(os.Stdout, 1<<20)
	defer out.Flush()

	var t int
	fmt.Sscan(in.Next(), &t)

	for ; t > 0; t-- {
		var n int
		fmt.Sscan(in.Next(), &n)

		var cnt [11][11]int64
		var ans int64

		for i := 0; i < n; i++ {
			s := in.Next()
			a := int(s[0] - 'a')
			b := int(s[1] - 'a')

			for x := 0; x < 11; x++ {
				if x != a {
					ans += cnt[x][b]
				}
			}
			for y := 0; y < 11; y++ {
				if y != b {
					ans += cnt[a][y]
				}
			}

			cnt[a][b]++
		}

		fmt.Fprintln(out, ans)
	}
}