private void printParkingLot(StringBuffer buf, int parkId) {
        buf.append("<div style=\"width:40px;height:240px;float:left\">\n");

        // vertical space
        buf.append("<div style=\"width:40px;height:40px\"></div>\n");

        // right light
        if (parkId != nsegments) {
            String light = "arrow-right-" + (rlights[parkId] ? "green" : "red");
            buf.append("<div class=\"" + light + "\"></div>\n");
        }
        // capacity
        String cap = capacity[parkId] == Integer.MAX_VALUE ? "INF" : String.valueOf(capacity[parkId]);
        buf.append("<div class=\"capacity\">" + cap + "</div>\n");

        // right cars
        int rcars = right[parkId] == null ? 0 : right[parkId].size();
        buf.append("<div class=\"capacity\">" + rcars + "</div>\n");


        // left cars
        int lcars = left[parkId] == null ? 0 : left[parkId].size();
        buf.append("<div class=\"capacity\">" + lcars + "</div>\n");

        // left light
        if (parkId != 0) {
            String light = "arrow-left-" + (llights[parkId-1] ? "green" : "red");
            buf.append("<div class=\"" + light + "\"></div>\n");
        }
        
        buf.append("</div>"); // close parking lot
    }