mengxiang000的魔法阵
题号:NC14344
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

这是mengxiang000和Tabris来到幼儿园的第七天,mengixang000发动了一个魔法阵,能够召唤出来两只逗逼兽.每只逗逼兽都有自己的名字,而且两只逗逼兽的名字长度是相同的,逗逼兽是要成对出现的才有战斗力,其战斗力是根据其名字而决定的,如果其中一只的名字是s,另外一只的名字为t,那么其战斗力为:
n-1 n-1
Σ  Σ  F(shift(s,i),shift(t,j));
i=0 j=0

shift(s,i)表示是以字母s[i]开头的字符串.
例如:
shift(ACC,0)=ACC
shift(ACC,1)=CCA
shift(ACC,2)=CAC

F(字符串A,字符串B)=字符串A和字符串B对应相同位子上相同字母的个数和,现在已知两只逗逼兽的名字,求其战斗力。
例如,如果某只逗逼兽的名字是ACC,另一只逗逼兽的名字是ACG那么这两只逗逼兽的战斗力的值就是:
F(ACC,ACG)+F(ACC,CGA)+F(ACC,GAC)+
F(CCA,ACG)+F(CCA,CGA)+F(CCA,GAC)+
F (CAC,ACG) +F(CAC,CGA)+F(CAC,GAC)
=2+0+1+1+2+0+0+1+2=9。

输入描述:

第一行输入一个整数t,表示一共的测试数据组数。
每组数据输入两行,每行输入一只逗逼兽的名字,保证两只逗逼兽的名字长度相同,保证输入的字符都是大写字母。
t<=100
1<=逗逼兽的名字的长度<=100000

输出描述:

每组数据输出一行,包含一个整数,表示两只逗逼兽的战斗力。 (保证输出结果在2^60以内)
示例1

输入

复制
1
ACC
ACG

输出

复制
9