You are given a string s formed by digits and '#'. We want to map s to English lowercase characters as follows:


	Characters ('a' to 'i') are represented by ('1' to '9') respectively.
	Characters ('j' to 'z') are represented by ('10#' to '26#') respectively.


Return the string formed after mapping.

The test cases are generated so that a unique mapping will always exist.

&nbsp;
Example 1:

Input: s = "10#11#12"
Output: "jkab"
Explanation: "j" -&gt; "10#" , "k" -&gt; "11#" , "a" -&gt; "1" , "b" -&gt; "2".


Example 2:

Input: s = "1326#"
Output: "acz"


&nbsp;
Constraints:


	1 &lt;= s.length &lt;= 1000
	s consists of digits and the '#' letter.
	s will be a valid string such that mapping is always possible.


class Solution:
    def freqAlphabets(self, s: str) -> str:
        for i in range(26,0,-1): s = s.replace(str(i)+"#"*(i>9),chr(96+i))
        return s
class Solution {
    public String freqAlphabets(String str) {
        HashMap<String, Character> map = new HashMap<>();
        int k = 1;
        for (char ch = 'a'; ch <= 'z'; ch++) {
            if (ch < 'j')
                map.put(String.valueOf(k++), ch);
            else
                map.put(String.valueOf(k++)+"#", ch);
        }
        
        StringBuilder sb = new StringBuilder();
        int i = str.length() - 1;
        while (i >= 0) {
            if (str.charAt(i) == '#') {
                sb.append(map.get(str.substring(i - 2, i+1)));
                i -= 3;
            } else {
                sb.append(map.get(str.substring(i, i + 1)));
                i--;
            }
        }
        
        return sb.reverse().toString();
    }
}
class Solution {
public:
	string freqAlphabets(string s) {
		int n=s.size(); 
		string ans="";
		for(int i=0;i<n;){
			if(i+2<n && s[i+2]=='#'){
				ans+= (s[i]-'0')*10 + (s[i+1]-'0') +96;
				i+=3;
			}
			else{
				ans+=(s[i]-'0') + 96;
				i++;
			}
		}
		return ans;
	}
};
var freqAlphabets = function(s) {
  const ans = []
  for (let i = 0, len = s.length; i < len; ++i) {
    const c = s.charAt(i)
    if (c === '#') {
      ans.length = ans.length - 2
      ans.push(String.fromCharCode(parseInt(`${s.charAt(i - 2)}${s.charAt(i - 1)}`, 10) + 96))
      continue
    }
    ans.push(String.fromCharCode(+c + 96))
  }
  return ans.join('')
};
Decrypt String from Alphabet to Integer Mapping