#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define rep(i, a, b) for(int i = (a); i < int(b); ++i) #define repto(i, b) rep(i, 0, b) #define trav(it, v) for(typeof((v).begin()) it = (v).begin(); \ it != (v).end(); ++it) typedef unsigned int nat; const int imax = INT_MAX; const int umax = UINT_MAX; nat get_number(string str) { nat sum = 0; for(auto c : str) { if(!isalpha(c)) continue; sum += toupper(c) - 64; } while(sum/10) { nat new_sum = 0; while(sum/10) { new_sum += sum % 10; sum /= 10; } new_sum += sum % 10; sum = new_sum; } return sum; } bool solve(nat tc) { string first, second; getline(cin, first); getline(cin, second); if(!first.length()) return false; nat first_num = get_number(first); nat second_num = get_number(second); cout << fixed << setprecision(2) << min(first_num, second_num)/(float)max(first_num, second_num)*100 << " %" << endl; return true; } int main() { //Set to 0 if you need to read the number of cases first nat n = 1 << 30; if(!n) cin >> n; for(nat i = 1; i <= n && solve(i); ++i); return 0; }