TABLE = [*?A..?Z, *?a..?z, *?0..?9, ?+, ?/]
def decode str
str.delete(?=).each_char.map{|c| '%06b'%TABLE.index(c)}.join.scan(/.{8}/).map{|e| e.to_i(2).chr}.join
end
def encode str
str.codepoints.flat_map{|e| ('%08b'%e).chars}.each_slice(6).map(&:join).tap{|a| a[-1] = a[-1].ljust(6, ?0)}.map{|e| TABLE[e.to_i(2)]}.join.tap{|s| s.concat(?=*(-s.size%4))}
end
puts"input:\t#{$_.chomp}\nencode:\t#{e = encode$_}\ndecode:\t#{decode(e)}"while gets
VEFCTEUgPSBbKj9BLi4/WiwgKj9hLi4/eiwgKj8wLi4/OSwgPyssID8vXQoKZGVmIGRlY29kZSBzdHIKICBzdHIuZGVsZXRlKD89KS5lYWNoX2NoYXIubWFwe3xjfCAnJTA2YiclVEFCTEUuaW5kZXgoYyl9LmpvaW4uc2NhbigvLns4fS8pLm1hcHt8ZXwgZS50b19pKDIpLmNocn0uam9pbgplbmQKCmRlZiBlbmNvZGUgc3RyCiAgc3RyLmNvZGVwb2ludHMuZmxhdF9tYXB7fGV8ICgnJTA4YiclZSkuY2hhcnN9LmVhY2hfc2xpY2UoNikubWFwKCY6am9pbikudGFwe3xhfCBhWy0xXSA9IGFbLTFdLmxqdXN0KDYsID8wKX0ubWFwe3xlfCBUQUJMRVtlLnRvX2koMildfS5qb2luLnRhcHt8c3wgcy5jb25jYXQoPz0qKC1zLnNpemUlNCkpfQplbmQKCnB1dHMiaW5wdXQ6XHQjeyRfLmNob21wfVxuZW5jb2RlOlx0I3tlID0gZW5jb2RlJF99XG5kZWNvZGU6XHQje2RlY29kZShlKX0id2hpbGUgZ2V0cwo=