public static void main(String[] argv) {
    Ref<node_t<Integer>> L = new Ref<node_t<Integer>>(new node_t<Integer>(1, new node_t<Integer>(2, new node_t<Integer>(3, null))));
    try {
      remove_kth_last(L, 4);
    }
    catch (IllegalArgumentException e) {
      System.out.println(e.getMessage());
    }

    remove_kth_last(L, 2);
    assert(L.value.data == 1 && L.value.next.data == 3);
    remove_kth_last(L, 2);
    assert(L.value.data == 3 && L.value.next == null);
  }