import math
def ip():
return map(int,input().split())
T=int(input())
# T=1
for __ in range(T):
n=int(input())
s=str(input())
dic={}
d=0
k=0
ans=[]
for i in range(n):
if s[i]=="D":
d+=1
elif s[i]=="K":
k+=1
if k == 0:
gd, gk = 1, 0
elif d == 0:
gd, gk = 0, 1
else:
hc = math.gcd(d, k)
gd = d // hc
gk = k // hc
key = (gd, gk)
dic[key] = dic.get(key, 0) + 1
ans.append(dic[key])
print(*ans)
aW1wb3J0IG1hdGgKZGVmIGlwKCk6CiAgICByZXR1cm4gbWFwKGludCxpbnB1dCgpLnNwbGl0KCkpCgpUPWludChpbnB1dCgpKQojIFQ9MQpmb3IgX18gaW4gcmFuZ2UoVCk6CiAgICBuPWludChpbnB1dCgpKQogICAgcz1zdHIoaW5wdXQoKSkKICAgIGRpYz17fQogICAgZD0wCiAgICBrPTAKICAgIGFucz1bXQogICAgZm9yIGkgaW4gcmFuZ2Uobik6CiAgICAgICAgaWYgc1tpXT09IkQiOgogICAgICAgICAgICBkKz0xCiAgICAgICAgZWxpZiBzW2ldPT0iSyI6CiAgICAgICAgICAgIGsrPTEKICAgICAgICAKICAgICAgICAKICAgICAgICBpZiBrID09IDA6CiAgICAgICAgCiAgICAgICAgICAgIGdkLCBnayA9IDEsIDAKICAgICAgICBlbGlmIGQgPT0gMDoKCiAgICAgICAgICAgIGdkLCBnayA9IDAsIDEKICAgICAgICBlbHNlOiAKICAgICAgICAgICAgaGMgPSBtYXRoLmdjZChkLCBrKQogICAgICAgICAgICBnZCA9IGQgLy8gaGMKICAgICAgICAgICAgZ2sgPSBrIC8vIGhjCgogICAgICAgIGtleSA9IChnZCwgZ2spCiAgICAgICAgZGljW2tleV0gPSBkaWMuZ2V0KGtleSwgMCkgKyAxCiAgICAgICAgYW5zLmFwcGVuZChkaWNba2V5XSkKICAgIAogICAgcHJpbnQoKmFucykKCiAgICAgICAgICAgIAoK