std::string encode(const std::string & word) const{ assert(!word.empty()); return zeroPad(upperFront(word)+ encodeDigits(word.substr(1))); }
std::string encode(const std::string& word) const { return zeroPad(upperFront(head(word)) + tail(encodedDigits(word))); }