private static String aeu_pack(String r)
    {
        int dotpos=-9;
        int rlen=r.length();
        int d;
        String rest="";
        for ( d=0;d<rlen;d++ )
            if ( r.charAt(d)<'0' || r.charAt(d)>'9' ) // not digit?
                if ( r.charAt(d)=='.' && dotpos<0 ) // first dot?
                    dotpos=d;
                else if ( r.charAt(d)=='-' ) {
                    rest=r.substring(d);
                    r=r.substring(0,d);
                    rlen=d;
                }
                else
                    return r; // not alldigit (or multiple dots)

        if (rlen-2 > dotpos) { // does r have a dot, AND at least 2 chars after the dot?
            int v = (((int)r.charAt(rlen-2))-48)*10+(((int)r.charAt(rlen-1))-48);
            int last  = (v%34);
            char [] vowels = {'A','E','U'};
            r = r.substring(0,rlen-2) + vowels[(v/34)] + (last<31 ? encode_chars[last] : vowels[last-31]);
        }
        return r+rest;
    }