static ListNode append (ListNode head, ListNode n) {
        if ( head == null) {
            return n;
        }
        ListNode    p  =  head;
        while ( p.next != null ){
            p  =  p.next;
        }
        p.next  =  n;
        return head;
    }