import math
def find(u, par):
if par[u] != u:
par[u] = find(par[u], par)
return par[u]
def union(u, v, par, size):
u_root = find(u, par)
v_root = find(v, par)
if u_root == v_root:
return
if size[u_root] < size[v_root]:
par[u_root] = v_root
size[v_root] += size[u_root]
else:
par[v_root] = u_root
size[u_root] += size[v_root]
def ip():
return map(int,input().split())
T=1
T=int(input())
for __ in range(T):
# n,m=ip()
# b=[]
# for _ in range(m):
# l,w,h=ip()
# b.append(sorted((l,w,h)))
# lst=[1,2]
# while len(lst)<n:
# lst.append(lst[-1]+lst[-2])
# res=[0 for _ in range(m)]
# for i in range(m):
# l,w,h=b[i]
# if l>=lst[-1] and w>=lst[-1] and h>=lst[-1]+lst[-2]:
# res[i]=1
# print("".join(str(x) for x in res))
n=int(input())
lst=list(ip())
dic={}
l=0
st=-1
for i in range(n):
if i==0:
l=1
st=i
continue
if lst[i]==lst[i-1]:
l+=1
else:
if lst[i-1] not in dic:
dic[lst[i-1]]=[]
dic[lst[i-1]].append((st,st+l-1))
l=1
st=i
if lst[n-1] not in dic:
dic[lst[n-1]]=[]
dic[lst[n-1]].append((st,st+l-1))
# print(dic)
mn=float('inf')
for i in dic:
l=dic[i]
mx=max(j[1]-j[0]+1 for j in l)
mn=min(mn,i*(n-mx))
print(mn)
aW1wb3J0IG1hdGgKZGVmIGZpbmQodSwgcGFyKToKCiAgICBpZiBwYXJbdV0gIT0gdToKICAgICAgICBwYXJbdV0gPSBmaW5kKHBhclt1XSwgcGFyKQogICAgcmV0dXJuIHBhclt1XQoKZGVmIHVuaW9uKHUsIHYsIHBhciwgc2l6ZSk6CiAgICB1X3Jvb3QgPSBmaW5kKHUsIHBhcikKICAgIHZfcm9vdCA9IGZpbmQodiwgcGFyKQoKICAgIGlmIHVfcm9vdCA9PSB2X3Jvb3Q6CiAgICAgICAgcmV0dXJuIAoKCiAgICBpZiBzaXplW3Vfcm9vdF0gPCBzaXplW3Zfcm9vdF06CiAgICAgICAgcGFyW3Vfcm9vdF0gPSB2X3Jvb3QKICAgICAgICBzaXplW3Zfcm9vdF0gKz0gc2l6ZVt1X3Jvb3RdCiAgICBlbHNlOgogICAgICAgIHBhclt2X3Jvb3RdID0gdV9yb290CiAgICAgICAgc2l6ZVt1X3Jvb3RdICs9IHNpemVbdl9yb290XQoKZGVmIGlwKCk6CiAgICByZXR1cm4gbWFwKGludCxpbnB1dCgpLnNwbGl0KCkpCgoKCgpUPTEKVD1pbnQoaW5wdXQoKSkKZm9yIF9fIGluIHJhbmdlKFQpOgogICAgIyBuLG09aXAoKQogICAgIyBiPVtdCiAgICAjIGZvciBfIGluIHJhbmdlKG0pOgogICAgIyAgICAgbCx3LGg9aXAoKQogICAgIyAgICAgYi5hcHBlbmQoc29ydGVkKChsLHcsaCkpKQoKICAgICMgbHN0PVsxLDJdCiAgICAjIHdoaWxlIGxlbihsc3QpPG46CiAgICAjICAgICBsc3QuYXBwZW5kKGxzdFstMV0rbHN0Wy0yXSkKICAgICMgcmVzPVswIGZvciBfIGluIHJhbmdlKG0pXQoKICAgICMgZm9yIGkgaW4gcmFuZ2UobSk6CiAgICAjICAgICBsLHcsaD1iW2ldCiAgICAjICAgICBpZiBsPj1sc3RbLTFdIGFuZCB3Pj1sc3RbLTFdIGFuZCBoPj1sc3RbLTFdK2xzdFstMl06CiAgICAjICAgICAgICAgcmVzW2ldPTEKICAgIAogICAgIyBwcmludCgiIi5qb2luKHN0cih4KSBmb3IgeCBpbiByZXMpKQoKICAgIG49aW50KGlucHV0KCkpCiAgICBsc3Q9bGlzdChpcCgpKQoKICAgIGRpYz17fQogICAgbD0wCiAgICBzdD0tMQogICAgZm9yIGkgaW4gcmFuZ2Uobik6CiAgICAgICAgaWYgaT09MDoKICAgICAgICAgICAgbD0xCiAgICAgICAgICAgIHN0PWkKICAgICAgICAgICAgY29udGludWUKCiAgICAgICAgaWYgbHN0W2ldPT1sc3RbaS0xXToKICAgICAgICAgICAgbCs9MQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIGlmIGxzdFtpLTFdIG5vdCBpbiBkaWM6CiAgICAgICAgICAgICAgICBkaWNbbHN0W2ktMV1dPVtdCiAgICAgICAgICAgIGRpY1tsc3RbaS0xXV0uYXBwZW5kKChzdCxzdCtsLTEpKQogICAgICAgICAgICBsPTEKICAgICAgICAgICAgc3Q9aQogICAgaWYgbHN0W24tMV0gbm90IGluIGRpYzoKICAgICAgICBkaWNbbHN0W24tMV1dPVtdCiAgICBkaWNbbHN0W24tMV1dLmFwcGVuZCgoc3Qsc3QrbC0xKSkKICAgIAogICAgIyBwcmludChkaWMpCiAgICBtbj1mbG9hdCgnaW5mJykKICAgIGZvciBpIGluIGRpYzoKICAgICAgICBsPWRpY1tpXQogICAgICAgIG14PW1heChqWzFdLWpbMF0rMSBmb3IgaiBpbiBsKQogICAgICAgIG1uPW1pbihtbixpKihuLW14KSkKICAgIHByaW50KG1uKQ==