public String toString(){
      StringBuilder sb = new StringBuilder();
      for( int j=0; j<values[0].length; j++ ){
        sb.append(' ');
        if( (values[0][j] & TOP)==TOP ) sb.append('_'); else sb.append(' ');
      }
      sb.append('\n');
      for( int i=0; i<values.length; i++ ){
          for( int j=0; j<values[i].length; j++ ){
              if( (values[i][j] & LEFT)==LEFT ) sb.append('|'); else sb.append(' ');
              if( (values[i][j] & BOTTOM)==BOTTOM ) sb.append('_'); else sb.append(' ');
          }
          if( (values[i][values[i].length-1] & RIGHT)==RIGHT ) sb.append('|'); else sb.append(' ');
          sb.append('\n');
      }
      return sb.toString();
    }