#include <iostream>
#include <string>
#include <vector>
#include <map>
using namespace std;

map<char,string> tbl1 = {
    {' ', "101"},
    {'\'', "000000"},
    {',', "000011"},
    {'-', "10010001"},
    {'.', "010001"},
    {'?', "000001"},
    {'A', "100101"},
    {'B', "10011010"},
    {'C', "0101"},
    {'D', "0001"},
    {'E', "110"},
    {'F', "01001"},
    {'G', "10011011"},
    {'H', "010000"},
    {'I', "0111"},
    {'J', "10011000"},
    {'K', "0110"},
    {'L', "00100"},
    {'M', "10011001"},
    {'N', "10011110"},
    {'O', "00101"},
    {'P', "111"},
    {'Q', "10011111"},
    {'R', "1000"},
    {'S', "00110"},
    {'T', "00111"},
    {'U', "10011100"},
    {'V', "10011101"},
    {'W', "000010"},
    {'X', "10010010"},
    {'Y', "10010011"},
    {'Z', "10010000"}
};

map<string,string> tbl2 = {
    {"00000", "A"},
    {"00001", "B"},
    {"00010", "C"},
    {"00011", "D"},
    {"00100", "E"},
    {"00101", "F"},
    {"00110", "G"},
    {"00111", "H"},
    {"01000", "I"},
    {"01001", "J"},
    {"01010", "K"},
    {"01011", "L"},
    {"01100", "M"},
    {"01101", "N"},
    {"01110", "O"},
    {"01111", "P"},
    {"10000", "Q"},
    {"10001", "R"},
    {"10010", "S"},
    {"10011", "T"},
    {"10100", "U"},
    {"10101", "V"},
    {"10110", "W"},
    {"10111", "X"},
    {"11000", "Y"},
    {"11001", "Z"},
    {"11010", " "},
    {"11011", "."},
    {"11100", ","},
    {"11101", "-"},
    {"11110", "'"},
    {"11111", "?"}
};

string encode(string s) {
    string ret = "";
    for (int i=0; i<(int)s.size(); ++i) {
        ret += tbl1[s[i]];
    }
    while ((int)ret.size() % 5 != 0) {
        ret += "0";
    }
    return ret;
}

string encode2(string s) {
    string ret = "";
    for (int i=0; i<(int)s.size(); i+=5) {
        ret += tbl2[s.substr(i, 5)];
    }
    return ret;
}

int main() {
    string s;
    while (getline(cin, s)) {
        cout << encode2(encode(s)) << endl;
    }
    return 0;
}