def METHOD_NAME(self, n):
    if n == 0:
        return ZERO[0]
    words = []
    chunks = list(splitbyx(str(n), 3))
    i = len(chunks)
    for x in chunks:
        i -= 1
        if x == 0:
            continue
        n1, n2, n3 = get_digits(x)
        if n3 > 0:
            if n3 == 1 and n2 == 0 and n1 > 0:
                words.append(HUNDRED[2])
            elif n3 > 1:
                words.append(ONES[n3][0])
                words.append(HUNDRED[1])
            else:
                words.append(HUNDRED[0])
        if n2 > 1:
            words.append(TWENTIES[n2][0])
        if n2 == 1:
            words.append(TENS[n1][0])
        elif n1 > 0 and not (i > 0 and x == 1):
            words.append(ONES[n1][0])
        if i > 0:
            words.append(self.pluralize(x, THOUSANDS[i]))
    return ' '.join(words)