import java.net.Inet6Address;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.InputStreamReader;
public final class IPv6Base {
private final class Node {
private String info = null;
private Node[] nodes = null;
public Node() {}
public void add(byte[] addr, int prefix, String info) {
_add(0, addr, prefix, info);
}
public String get(byte[] addr) {
Node ret = _get(0, addr);
return null == ret ? null : ret.info;
}
private void _add(int index, byte[] addr, int prefix, String info) {
if (null == nodes)
nodes = new Node[512];
int n = (addr[index] & 0x000000ff) | 0x00000100;
if (prefix <= 8)
n = n >> (8 - prefix);
if (null == nodes[n])</