#include <bits/stdc++.h> using namespace std; typedef long long lld; string ans; map<string, bool> cache; string menuever(string s, int k){ std::reverse(s.begin(), s.begin()+k); for(int i=0; i<k; ++i) s[i] = s[i]=='-' ? '+' : '-'; return s; } int solve(string s){ queue<string> q; q.push(s); cache[s] = true; int dist = 0, len = s.length(); while(!q.empty()){ int qs = q.size(); while(qs--){ string p = q.front(); // cout<< p <<'\n'; q.pop(); if(ans.compare(0, len, p) == 0) return dist; for(int i=1; i<=len; ++i){ string rv = menuever(p, i); if(cache[rv]) continue; cache[rv] = true; q.push(rv); } } ++dist; } return dist; } int main(){ for(int i=0; i<100; ++i) ans.push_back('+'); int T; scanf("%d ", &T); for(int tc=0; tc<T; ++tc){ string s; cin >> s; cache.clear(); printf("Case #%d: %d\n", tc+1, solve(s)); } return 0; }