private String map(int year, int month, int day)
            throws NodeMeaningKeyErrorException {
        System.err.println(year + "/" + month + "/" + day);
        year -= baseYear;
        if (year < minYear || year > maxYear) {
            throw new NodeMeaningKeyErrorException();
        }
        if (month < minMonth || month > maxMonth) {
            throw new NodeMeaningKeyErrorException();
        }
        if (day < minDay || day > maxDay) {
            throw new NodeMeaningKeyErrorException();
        }
        year -= minYear;
        month -= minMonth;
        day -= minDay;
        int monthLength = maxMonth - minMonth + 1;
        int dayLength = maxDay - minDay + 1;
        int value = year * monthLength * dayLength + month * dayLength + day;
        return String.valueOf(value);
    }