static Object[][] abs(Object[][] z) {
            Object[][] ret = new Object[z.length][];
            for (int i = 0; i < z.length; i++) {
                ret[i] = new Object[z[i].length];
                for (int j = 0; j < z[i].length; j++) {
                    Object a = z[i][j];
                    if (a == null) {
                        ret[i][j] = null;
                    } else if (a instanceof Integer) {
                        ret[i][j] = Math.abs((Integer) a);
                    } else if (a instanceof Double) {
                        ret[i][j] = Math.abs((Double) a);
                    } else {
                        ret[i][j] = ((BigInteger) a).abs();
                    }
                }
            }
            return ret;
        }