#if 1

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <ctime>
#include <cassert>
#include <iostream>
#include <cctype>
#include <sstream>
#include <string>
#include <list>
#include <vector>
#include <queue>
#include <set>
#include <stack>
#include <map>
#include <utility>
#include <numeric>
#include <algorithm>
#include <iterator>
#include <bitset>
#include <complex>
#include <fstream>
#include <iomanip>
using namespace std;
typedef long long ll;
const double EPS = 1e-9;
typedef vector<int> vint;
typedef pair<int, int> pint;
#define rep(i, n) REP(i, 0, n)
#define ALL(v) v.begin(), v.end()
#define MSG(a) cout << #a << " " << a << endl;
#define REP(i, x, n) for(int i = x; i < n; i++)
template<class T> T RoundOff(T a){ return int(a+.5-(a<0)); }
template<class T, class C> void chmax(T& a, C b){ if(a < b) a = b; }
template<class T, class C> void chmin(T& a, C b){ if(b < a) a = b; }
template<class T, class C> pair<T, C> mp(T a, C b){ return make_pair(a, b); }


struct HuffmanCoding
{
	HuffmanCoding()
	{
		init();
	}

	// êÊIÈgppxÌªz©ç³kÆð
	map<char, string> poplarTable;

	string PoplarCompress(string original)
	{
		string compressString;

		int len = original.size();
		rep(i, len)
			compressString += poplarTable[original[i]];
		
		return compressString;
	}

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


		rep(i, 32)
			poplarTable.insert(map<char, string>::value_type(pairs[i].first, pairs[i].second));
	}
};

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

	rep(i, 32)
		table.insert(map<string, char>::value_type(pairs[i].first, pairs[i].second));
}

string compress(string line)
{
	string ans;

	for(int i = 0; i < line.size(); i += 5)
		ans += table[line.substr(i, 5)];
	
	return ans;
}

int main()
{
	initializeTable();
	string line;
	while(getline(cin, line))
	{
		HuffmanCoding hc;
		line = hc.PoplarCompress(line);

		while(line.size() % 5)
			line += '0';

		cout << compress(line) << endl;
	}
}

#endif