def soundex(w):
    w = w.upper()
    d = {"BFPV":"1","CGJKQSXZ":"2","DT":"3","L":"4","MN":"5","R":"6"}
    f, p = w[0], ""

    for c in w[1:]:
        for k in d:
            if c in k:
                if d[k] != p:
                    f += d[k]
                    p = d[k]
                break

    return (f + "000")[:4]

# Example usage
words = ["Robert", "Rupert", "Ruia", "Herman", "Hermann"]

for w in words:
    print(w, soundex(w))