UNB/ CS/ David Bremner/ teaching/ cs4613/ lectures/ lecture14/ bt2.java
abstract class BT {
    abstract public int size();
}
class mt extends BT {
    public int size() {
        return 0;
    }
}
class node extends BT {
    int v;
    BT l, r;
    node(int v, BT l, BT r) {
        this.v = v;
        this.l = l;
        this.r = r;
    }
    public int size() {
        return 1 + this.l.size() + this.r.size();
    }
}
class empty extends BT {
    public int size() {
        return 0;
    }
}
class bt2 {
    static int m(mt o) {
        return o.size();
    }
    public static void main(String[] args) {
        System.out.println(m(new empty()));
    }
}