=======FORMAT OF ONE LINE======
Format: [label id] [boundary line id] [feature id:value]+ [#] [parents]* [vip boundary line flag]
Example: 1 lid:1 1:1 2:0.5 3:0.8 # plid1:-1 vipline:1
 
[label id]
   1: cut, defined as CUT_LABEL
   2: not a cut, defined as NOT_CUT_LABEL
   
[boundary line id]
   format: lid:boundary line id#
   boundary line id# starts from 1
   example: lid:1

[feature id:value]
   format: feature id#:feature value
   feature id# starts from 1
   example: 3:0.8
   
[#]
   a separator by #
   
[parents]
   format: plid1:id# (the first parent boundary line of the current boundary line) 
        OR plid2:id# (the second parent boundary line of the current boundary line)
   example: plid1:-1
   when id# is -1, can be omitted

[vip boundary line flag]   whether the current boundary line is the boundary of an informative block
   format: vipline:value
   values: 0: no, defined as NOT_VIP_LINE
           1: yes, defined as VIP_LINE
   example: vipline:1
   IMPORTANT: only when the current line has CUT_LABEL, it has chance to be vip boundary line
   when value is 0, can be omitted
   
   
=======SOME CONSTRAINTS======
1. boundary line id must >=1
2. boundary line ID's have to be in increasing order line by line in the file. increasing step is 1.
3. Max boundary line ID == total number of lines in the file
4. no duplicated boundary line ID

exmaple file:
1 lid:1 1:1 2:0.5 3:0.8 # plid1:-1 vipline:1
1 lid:2 1:1 2:0.3 3:0.5 # plid1:1  vipline:1
1 lid:3 1:0 2:0.5 3:0.6 # plid1:1  vipline:1
1 lid:4 1:0 2:0.5 3:0.6 # plid1:2 plid2:3 vipline:1
2 lid:5 1:0 2:0.1 3:1.6 # plid1:2 plid2:3 vipline:0
2 lid:6 1:1 2:0.2 3:2.6 # plid1:2
2 lid:7 1:1 2:0.1 3:1.6 # plid1:3
2 lid:8 1:0 2:0.0 3:1.6 # plid1:1 plid2:4

   
