Problem description: KathHochWS9596.ozt

### Problem description: `KathHochWS9596.ozt`

Source File

>     problem(
>              professors:
>                 profs(
>                        'Teacher1': inDays([monday tuesday wednesday])
>                        'Teacher2'   : nil
>                        'Teacher3'  : inDays([monday tuesday wednesday])
>                        'Teacher4': weekInterval(11#00#16#15)
>                        'Teacher5'  : inDays([monday tuesday wednesday])
>                        'Teacher6'    : nil
>                        'Teacher7'  : noT(inDays([monday]))
>                        'Teacher8'  : fix(monday#8#15)
>                        'Teacher9'   : nil
>                        'Teacher10'     : inDays([monday tuesday])
>                        'Teacher11': nil
>                        'Teacher12' : oR(dayInterval(monday   # 8#00#12#00)
>                                        dayInterval(tuesday  # 8#00#12#00)
>                                        dayInterval(wednesday#13#00#16#15))
>                        'Teacher13' : nil
>                        'Teacher14'    : noT(inDays([monday wednesday]))
>                        'Teacher15': inDays([monday tuesday wednesday])
>                        'Teacher16'     : nil
>                        'Teacher17' : nil
>                        'Teacher18'    : nil
>                        'Teacher19': weekInterval(12#45#16#15)
>                        'Teacher20': nil
>                        'Teacher21'        : nil
>                        'Teacher22'        : nil
>                        'Teacher23': nil
>                        'Teacher24'        : nil
>                        'Teacher25'        : nil
>                        'Teacher26'        : nil
>                        'Teacher27': nil
>                        'Teacher28'        : nil
>                        'Teacher29': nil
>                        'Teacher30'        : nil
>                        'Teacher31'        : nil
>                        'Teacher32'        : nil
>                        'Teacher33'        : nil
>                        'Teacher34': nil
>                      )

>              lectures:
>                 lectures(second:
>                             semester( vm:
>                                          [
>                                            l(name:'2.1' dur:6 size:big
>                                              professor:'Teacher1')
>                                            l(name:'2.2' dur:6 size:other
>                                              professor:'Teacher2')
>                                            l(name:'2.3' dur:6 size:other
>                                              professor:'Teacher3')
>                                          ]
>                                       v4:
>                                          [
>                                            l(name:'2.4.1' dur: 6 size:small
>                                              professor:'Teacher1')
>                                            l(name:'2.4.2' dur: 6 size:small
>                                              professor:'Teacher4')
>                                          ]
>                                       v5:
>                                          [
>                                            l(name:'2.5.1' dur: 6 size:small
>                                              professor:'Teacher5')
>                                            l(name:'2.5.2' dur: 6 size:small
>                                              professor:'Teacher3')
>                                          ]
>                                       v6:
>                                          [
>                                            l(name:'2.6' dur: 3 size:big
>                                              professor:'Teacher6'
>                                              constraints: fix(friday#8#15))
>                                          ]
>                                       v7:
>                                          [
>                                            l(name:'2.7' dur: 3 size:big
>                                             constraints: fix(thursday#10#15)
>                                              professor:'Teacher7')
>                                          ]
>                                       v8:
>                                          [
>                                            l(name:'2.8.1' dur: 6 size:small
>                                              professor:'Teacher7')
>                                            l(name:'2.8.2' dur: 6 size:small
>                                              professor:'Teacher7')
>                                          ]
>                                       v9:
>                                          [
>                                            l(name:'2.9' dur: 6 size:big
>                                              professor:'Teacher8')
>                                          ]
>                                       v10:
>                                          [
>                                            l(name:'2.10.1' dur: 3 size:big
>                                              professor:'Teacher9')
>                                            l(name:'2.10.2' dur: 3 size:other
>                                              professor:'Teacher10')
>                                            l(name:'2.10.3' dur: 3 size:other
>                                              professor:'Teacher11')
>                                          ]
>                                       v13:
>                                          [
>                                            l(name:'2.13.1' dur: 6 size:small
>                                              professor:'Teacher12')
>                                            l(name:'2.13.2' dur: 6 size:small
>                                              professor:'Teacher13')
>                                          ]
>                                       v14:
>                                          [
>                                            l(name:'2.14.1' dur: 6 size:tiny
>                                              professor:'Teacher14')
>                                            l(name:'2.14.2' dur: 6 size:tiny
>                                              professor:'Teacher14')
>                                          ]
>                                       v15:
>                                          [
>                                            l(name:'2.15.1' dur: 6 size:tiny
>                                              professor:'Teacher10')
>                                            l(name:'2.15.2' dur: 6 size:tiny
>                                              professor:'Teacher5')
>                                            l(name:'2.15.3' dur: 6 size:tiny
>                                              professor:'Teacher2')
>                                            l(name:'2.15.4' dur: 6 size:tiny
>                                              professor:'Teacher3')
>                                          ]
>                                     )
>                          fourth:
>                             semester( v1:
>                                          [
>                                            l(name:'4.1' dur: 6 size: big
>                                              professor:'Teacher5')
>                                          ]
>                                       v2:
>                                          [
>                                            l(name:'4.2.1' dur: 6 size: small
>                                              professor:'Teacher15')
>                                            l(name:'4.2.2' dur: 6 size: small
>                                              professor:'Teacher15')
>                                          ]
>                                       v3:
>                                          [
>                                            l(name:'4.3.1' dur: 3 size: small
>                                              professor:'Teacher1')
>                                            l(name:'4.3.2' dur: 3 size: small
>                                              professor:'Teacher1')
>                                          ]
>                                       v4:
>                                          [
>                                            l(name:'4.4.1' dur: 6 size: small
>                                              professor:'Teacher16')
>                                            l(name:'4.4.2' dur: 6 size: small
>                                              professor:'Teacher3')
>                                          ]
>                                       v5:
>                                          [
>                                            l(name:'4.5.1' dur: 6 size: small
>                                              professor:'Teacher7')
>                                            l(name:'4.5.2' dur: 6 size: small
>                                              professor:'Teacher7')
>                                          ]
>                                       v6:
>                                          [
>                                            l(name:'4.6' dur: 3 size: big
>                                              professor:'Teacher7')
>                                          ]
>                                       v7:
>                                          [
>                                            l(name:'4.7.1' dur: 6 size: small
>                                              professor:'Teacher17')
>                                            l(name:'4.7.2' dur: 6 size: small
>                                              professor:'Teacher17')
>                                          ]
>                                       v8:
>                                          [
>                                            l(name:'4.8.1' dur: 6 size: tiny
>                                              professor:'Teacher18')
>                                            l(name:'4.8.2' dur: 6 size: tiny
>                                              professor:'Teacher2')
>                                            l(name:'4.8.3' dur: 6 size: tiny
>                                              professor:'Teacher19')
>                                            l(name:'4.8.4' dur: 6 size: tiny
>                                              professor:'Teacher11')
>                                          ]
>                                       v10:
>                                          [
>                                            l(name:'4.10.1' dur: 6 size: small
>                                              professor:'Teacher1')
>                                            l(name:'4.10.2' dur: 6 size: small
>                                              professor:'Teacher1')
>                                          ]
>                                       v11:
>                                          [
>                                            l(name:'4.11' dur: 6 size: small
>                                              professor:'Teacher20')
>                                          ]
>                                       v12:
>                                          [
>                                            l(name:'4.12.1' dur: 6 size: small
>                                              professor:'Teacher14')
>                                            l(name:'4.12.2' dur: 6 size: small
>                                              professor:'Teacher14')
>                                          ]
>                                     )
>                          sixth:
>                             semester(
>                                       v2:
>                                          [
>                                            l(name:'6.2.1' dur: 6 size: small
>                                              professor:'Teacher16'
>                                              constraints:
>                                                 dayInterval(wednesday#13#00#14#00))
>                                            l(name:'6.2.2' dur: 6 size: small
>                                              professor:'Teacher2'
>                                              constraints:
>                                                 dayInterval(wednesday#13#00#14#00))
>                                            l(name:'6.2.3' dur: 6 size: small
>                                              professor:'Teacher26')
>                                          ]
>                                       v5:
>                                          [
>                                            l(name:'6.5' dur: 6 size: small
>                                              professor:'Teacher21')
>                                          ]
>                                       v6:
>                                          [
>                                            l(name:'6.6' dur: 6 size: small
>                                              professor:'Teacher7')
>                                          ]
>                                     )
>                          eighth:
>                             semester(
>                                       v1:
>                                          [
>                                            l(name:'8.1' dur: 6 size: big
>                                              professor:'Teacher1')
>                                          ]
>                                       v2:
>                                          [
>                                            l(name:'8.2' dur: 6 size: small
>                                              professor:'Teacher7')
>                                          ]
>                                       v3:
>                                          [
>                                            l(name:'8.3' dur: 6 size: small
>                                              professor:'Teacher3')
>                                          ]
>                                       v4:
>                                          [
>                                            l(name:'8.4' dur: 6 size: small
>                                              professor:'Teacher17')
>                                          ]
>                                       v5:
>                                          [
>                                            l(name:'8.5' dur: 6 size: small
>                                              professor:'Teacher23')
>                                          ]
>                                       v6:
>                                          [
>                                            l(name:'8.6' dur: 3 size: small
>                                              professor:'Teacher22')
>                                          ]
>                                       v7:
>                                          % l(name:'8.7.1' dur: 6 size: small
>                                          %   professor:'Hamm')
>                                       [
>                                         l(name:'8.7.2' dur: 6 size: tiny
>                                           professor:'Teacher2')
>                                       ]
>                                       v8:
>                                          [
>                                            l(name:'8.8' dur: 6 size: small
>                                              professor:'Teacher24')
>                                          ]
>                                       v9:
>                                          [
>                                            l(name:'8.9' dur: 6 size: big
>                                              professor:'Teacher28')
>                                          ]
>                                       v10:
>                                          [
>                                            l(name:'8.10' dur: 6 size: small
>                                              professor:'Teacher14')
>                                          ]
>                                       v11:
>                                          [
>                                            l(name:'8.11.1' dur: 3 size: tiny
>                                              professor:'Teacher11'
>                                              constraints:fix(tuesday#8#15))
>                                            l(name:'8.11.2' dur: 3 size: other
>                                              professor:'Teacher2'
>                                             constraints:fix(tuesday#8#15))
>                                          ]
>                                       v12:
>                                          [
>                                            l(name:'8.12.1' dur: 6 size: tiny
>                                              professor:'Teacher2'
>                                              constraints:fix(tuesday#9#15))
>                                            l(name:'8.12.2' dur: 6 size: other
>                                              professor:'Teacher11'
>                                              constraints:fix(tuesday#9#15))
>                                          ]
>                                       v13:
>                                          [
>                                            l(name:'8.13.1' dur: 6 size: tiny
>                                              professor:'Teacher6')
>                                            l(name:'8.13.2' dur: 6 size: tiny
>                                              professor:'Teacher2'
>                                              constraints:fix(tuesday#11#15))
>                                            l(name:'8.13.3' dur: 6 size: other
>                                              professor:'Teacher11'
>                                              constraints:fix(tuesday#11#15))
>                                          ]
>                                       v14:
>                                          [
>                                            l(name:'8.14.1' dur: 3 size: tiny
>                                              professor:'Teacher9')
>                                            l(name:'8.14.2' dur: 3 size: tiny
>                                              professor:'Teacher27'
>                                              constraints:fix(tuesday#8#15))
>                                            l(name:'8.14.3' dur: 3 size: other
>                                              professor:'Teacher29'
>                                              constraints:fix(tuesday#8#15))
>                                          ]
>                                       v15:
>                                          [
>                                            l(name:'8.15.1' dur: 6 size: tiny
>                                              professor:'Teacher9'
>                                              constraints:fix(tuesday#9#15))
>                                            l(name:'8.15.2' dur: 6 size: other
>                                              professor:'Teacher27'
>                                              constraints:fix(tuesday#9#15))
>                                          ]
>                                       v16:
>                                          [
>                                            l(name:'8.16.1' dur: 6 size: tiny
>                                              professor:'Teacher9'
>                                              constraints:fix(tuesday#11#15))
>                                            l(name:'8.16.2' dur: 6 size: other
>                                              professor:'Teacher27'
>                                              constraints:fix(tuesday#11#15))
>                                            l(name:'8.16.3' dur: 6 size: tiny
>                                              professor:'Teacher29')
>                                          ]
>                                       v17:
>                                          [
>                                            l(name:'8.17.1' dur: 3 size: small
>                                              professor:'Teacher7')
>                                            l(name:'8.17.2' dur: 3 size: small
>                                              professor:'Teacher5'
>                                              constraints:fix(tuesday#8#15))
>                                            l(name:'8.17.3' dur: 3 size: other
>                                              professor:'Teacher3'
>                                              constraints:fix(tuesday#8#15))
>                                          ]
>                                       v18:
>                                          [
>                                            l(name:'8.18.1' dur: 6 size: small
>                                              professor:'Teacher5'
>                                              constraints:fix(tuesday#9#15))
>                                            l(name:'8.18.2' dur: 6 size: other
>                                              professor:'Teacher3'
>                                              constraints:fix(tuesday#9#15))
>                                          ]
>                                       v19:
>                                          [
>                                            l(name:'8.19.1' dur: 6 size: small
>                                              professor:'Teacher7')
>                                            l(name:'8.19.2' dur: 6 size: other
>                                              professor:'Teacher5'
>                                              constraints:fix(tuesday#11#15))
>                                            l(name:'8.19.3' dur: 6 size: small
>                                              professor:'Teacher3'
>                                              constraints:fix(tuesday#11#15))
>                                          ]
>                                     )
>                          medien:
>                             lectures(
>                                       v1:
>                                          [
>                                            l(name:'M.1' dur: 3 size: other
>                                              professor:'Teacher30'
>                                              constraints:fix(tuesday#14#00))
>                                          ]
>                                       v8:
>                                          [
>                                            l(name:'M.8' dur: 3 size: other
>                                              professor:'Teacher31'
>                                              constraints:fix(thursday#16#00))
>                                          ]
>                                     )
>                          fac:
>                             lectures(
>                                       v1:
>                                          [
>                                            l(name:'F.1' dur: 3 size: small
>                                              professor:'Teacher5'
>                                              constraints:fix(monday#16#00))
>                                          ]
>                                       v2:
>                                          [
>                                            l(name:'F.2.1' dur: 6 size: small
>                                              professor:'Teacher32')
>                                            l(name:'F.2.2' dur: 6 size: small
>                                              professor:'Teacher32')
>                                          ]
>                                       v3:
>                                          [
>                                            l(name:'F.3' dur: 6 size: small
>                                              professor:'Teacher12')
>                                          ]
>                                       v4:
>                                          [
>                                            l(name:'F.4' dur: 6 size: small
>                                              professor:'Teacher12')
>                                          ]
>                                       %% Gitarre is during lunch: omitted here
>                                       v6:
>                                          [
>                                            l(name:'F.6' dur: 6 size: small
>                                              professor:'Teacher9')
>                                          ]
>                                       %% Erlebnis during weekend :-}
>                                       v10:
>                                          [
>                                            l(name:'F.10' dur: 6 size: other
>                                              professor:'Teacher25')
>                                          ]
>                                     )
>     ))