import sys
T = int(sys.stdin.readline())
for Ca in range(T):
N = int(sys.stdin.readline())
W = [int(i) for i in sys.stdin.readline().split(" ")]
D = [-1 for i in range(141)]
D[0] = 0 # D[i] stores the minimal weight of a tower of height i using only the first ants
mh = 0
for w in W: # adding an ant
# finding the largest tower made of that ant could carry
# by monotonicity it then can carry also all smaller towers
h = mh
while(D[h] > 6 * w): #this stops as D[0]=0
h -= 1
if h == mh:
mh += 1
# If it can carry: It might be possible to create a less heavy tower of height h2 + 1
for h2 in range(h, -1, -1):
if D[h2 + 1] == -1 or D[h2 + 1] > D[h2] + w:
D[h2 + 1] = D[h2] + w
print("Case #%i: %i" % (Ca+1, mh))
aW1wb3J0IHN5cwoKVCA9IGludChzeXMuc3RkaW4ucmVhZGxpbmUoKSkKZm9yIENhIGluIHJhbmdlKFQpOgogICAgTiA9IGludChzeXMuc3RkaW4ucmVhZGxpbmUoKSkKICAgIFcgPSBbaW50KGkpIGZvciBpIGluIHN5cy5zdGRpbi5yZWFkbGluZSgpLnNwbGl0KCIgIildCiAgICBEID0gWy0xIGZvciBpIGluIHJhbmdlKDE0MSldCiAgICBEWzBdID0gMCAjIERbaV0gc3RvcmVzIHRoZSBtaW5pbWFsIHdlaWdodCBvZiBhIHRvd2VyIG9mIGhlaWdodCBpIHVzaW5nIG9ubHkgdGhlIGZpcnN0IGFudHMKICAgIG1oID0gMAogICAgZm9yIHcgaW4gVzogIyBhZGRpbmcgYW4gYW50CiAgICAgICAgIyBmaW5kaW5nIHRoZSBsYXJnZXN0IHRvd2VyIG1hZGUgb2YgdGhhdCBhbnQgY291bGQgY2FycnkKICAgICAgICAjIGJ5IG1vbm90b25pY2l0eSBpdCB0aGVuIGNhbiBjYXJyeSBhbHNvIGFsbCBzbWFsbGVyIHRvd2VycyAKICAgICAgICBoID0gbWgKICAgICAgICB3aGlsZShEW2hdID4gNiAqIHcpOiAjdGhpcyBzdG9wcyBhcyBEWzBdPTAKICAgICAgICAgICAgaCAtPSAxCiAgICAgICAgaWYgaCA9PSBtaDoKICAgICAgICAJbWggKz0gMQogICAgICAgICMgSWYgaXQgY2FuIGNhcnJ5OiBJdCBtaWdodCBiZSBwb3NzaWJsZSB0byBjcmVhdGUgYSBsZXNzIGhlYXZ5IHRvd2VyIG9mIGhlaWdodCBoMiArIDEKICAgICAgICBmb3IgaDIgaW4gcmFuZ2UoaCwgLTEsIC0xKToKICAgICAgICAgICAgaWYgRFtoMiArIDFdID09IC0xIG9yIERbaDIgKyAxXSA+IERbaDJdICsgdzoKICAgICAgICAgICAgICAgIERbaDIgKyAxXSA9IERbaDJdICsgdwogICAgcHJpbnQoIkNhc2UgIyVpOiAlaSIgJSAoQ2ErMSwgbWgpKQ==