PALINX - Xâu đối xứng

Giới hạn
  • Thời gian: 0.496s
  • Bộ nhớ: 1536MB
  • Mã nguồn: 50000 bytes

Ghi chú: Các bài VNOI đã được chuyển qua VNOJ (Thông báo). Đề bài trên VNOI và vn.spoj.com sẽ không được cập nhật nữa. Một số đề bài không chính xác sẽ chỉ được cập nhật trên VNOJ. Bạn vẫn có thể tìm kiếm đề bài trên VNOI.

Link đọc đề trên VNOJ

Một xâu được gọi là đối xứng nếu đọc từ trái qua phải và đọc từ phải qua trái đều giống nhau.
Ví dụ xâu "aba", "abba" là xâu đối xứng; còn xâu "abc", "abca" thì không.
Bạn được cho N xâu, như vậy sẽ có NxN cặp xâu. Bạn hãy đếm xem trong NxN cặp xâu này, có bao nhiêu cặp mà khi nối xâu thứ hai vào sau xâu thứ nhất sẽ cho ra một xâu đối xứng.

Input

Dòng đầu ghi một số N. N dòng sau mỗi dòng mô tả một xâu, bắt đầu là độ dài của xâu, sau đó là một dấu cách và tiếp theo là nội dung của xâu.(Xâu chỉ gồm các chữ cái latin thường và có độ dài nguyên dương)
Dữ liệu vào luôn đảm bảo tổng độ dài các xâu không quá 1000000.

Output

Ghi ra một số duy nhất là số cặp xâu tìm được.

Example

Input:
3
1 a
2 ab
2 ba

Output:
5


  • Người up: beo_map
  • Nguồn bài: Ðược add lên bởi Khúc Anh Tuấn