concat ( repeatatleast ( <h> , 3 ) , concat ( optional ( repeatrange ( const0 , 1 , 3 ) ) , concat ( repeat ( <num> , 2 ) , concat ( repeatrange ( <cap> , 3 , 4 ) , repeatatleast ( <h> , 3 ) ) ) ) )
concat ( repeatatleast ( const0 , 3 ) , concat ( optional ( repeatrange ( const1 , 1 , 3 ) ) , concat ( repeat ( <num> , 2 ) , concat ( repeatrange ( <cap> , 3 , 4 ) , repeatatleast ( const0 , 3 ) ) ) ) )
concat ( repeatatleast ( <n> , 2 ) , repeatrange ( <low> , 1 , 4 ) )
concat ( repeat ( <low> , 4 ) , concat ( repeatrange ( <let> , 1 , 2 ) , concat ( repeat ( <low> , 4 ) , concat ( repeatrange ( <let> , 3 , 4 ) , <cap> ) ) ) )
concat ( repeatatleast ( <num> , 1 ) , optional ( or ( const0 , const ( <DG> ) ) ) )
concat ( repeatatleast ( <low> , 1 ) , concat ( or ( <num> , <let> ) , concat ( repeatatleast ( <let> , 3 ) , repeat ( const0 , 2 ) ) ) )
concat ( repeatatleast ( const0 , 1 ) , concat ( repeatatleast ( <low> , 2 ) , concat ( repeatatleast ( const0 , 1 ) , or ( const1 , const2 ) ) ) )
concat ( repeatrange ( or ( <num> , <let> ) , 3 , 4 ) , optional ( repeat ( <let> , 4 ) ) )
concat ( or ( <.> , const0 ) , concat ( or ( const1 , <2> ) , concat ( repeatrange ( const2 , 1 , 4 ) , concat ( or ( const3 , <^> ) , repeatatleast ( <num> , 2 ) ) ) ) )
concat ( repeatatleast ( const0 , 2 ) , concat ( repeat ( <num> , 3 ) , concat ( const1 , concat ( or ( const2 , const3 ) , optional ( repeatrange ( <cap> , 3 , 4 ) ) ) ) ) )
concat ( optional ( repeatrange ( <cap> , 1 , 3 ) ) , concat ( repeatatleast ( <num> , 2 ) , repeatatleast ( const0 , 3 ) ) )
concat ( optional ( repeatrange ( <let> , 2 , 3 ) ) , repeatatleast ( <u> , 3 ) )
concat ( repeatatleast ( <num> , 2 ) , concat ( optional ( repeatrange ( <cap> , 1 , 3 ) ) , repeatatleast ( <num> , 2 ) ) )
concat ( repeatrange ( <cap> , 1 , 2 ) , concat ( repeatatleast ( <low> , 1 ) , repeatrange ( <cap> , 1 , 2 ) ) )
concat ( repeatatleast ( <cap> , 2 ) , concat ( repeatatleast ( <low> , 1 ) , repeatatleast ( <cap> , 2 ) ) )
concat ( optional ( repeatatleast ( const0 , 1 ) ) , repeatrange ( <num> , 3 , 4 ) )
concat ( or ( const0 , const1 ) , concat ( or ( const2 , const3 ) , concat ( or ( const0 , const1 ) , concat ( or ( const2 , const3 ) , optional ( repeatatleast ( const4 , 1 ) ) ) ) ) )
concat ( or ( <^> , const0 ) , concat ( or ( const1 , <a> ) , concat ( or ( <^> , const0 ) , concat ( or ( const1 , <a> ) , optional ( repeatatleast ( const2 , 1 ) ) ) ) ) )
concat ( const0 , repeatatleast ( <let> , 1 ) )
concat ( repeatrange ( <let> , 2 , 4 ) , optional ( or ( <-> , const0 ) ) )
concat ( repeatrange ( <let> , 2 , 3 ) , concat ( repeat ( <low> , 3 ) , repeatrange ( <cap> , 3 , 4 ) ) )
concat ( repeatrange ( <let> , 3 , 4 ) , concat ( optional ( repeatrange ( <low> , 1 , 4 ) ) , concat ( repeatrange ( <let> , 3 , 4 ) , concat ( optional ( repeatatleast ( <cap> , 1 ) ) , repeatrange ( <let> , 3 , 4 ) ) ) ) )
concat ( repeat ( notcc ( <num> ) , 3 ) , concat ( optional ( repeatatleast ( or ( <let> , <num> ) , 1 ) ) , or ( repeat ( <num> , 2 ) , repeat ( <cap> , 2 ) ) ) )
concat ( repeatatleast ( <cap> , 3 ) , concat ( repeatatleast ( <num> , 3 ) , concat ( or ( const0 , <g> ) , repeatrange ( <let> , 2 , 4 ) ) ) )
concat ( repeatrange ( <cap> , 2 , 4 ) , concat ( repeatrange ( const0 , 3 , 4 ) , concat ( optional ( <low> ) , concat ( repeatrange ( <cap> , 2 , 4 ) , repeatrange ( <let> , 3 , 4 ) ) ) ) )
concat ( repeatatleast ( <low> , 2 ) , concat ( repeatrange ( const0 , 3 , 4 ) , repeatrange ( <b> , 1 , 4 ) ) )
concat ( repeatrange ( <low> , 1 , 4 ) , concat ( repeat ( <let> , 2 ) , repeatrange ( <low> , 1 , 4 ) ) )
concat ( repeat ( <low> , 3 ) , repeatatleast ( <let> , 3 ) )
concat ( repeatatleast ( <num> , 3 ) , concat ( repeatatleast ( <low> , 2 ) , concat ( repeatrange ( <cap> , 2 , 4 ) , concat ( repeatatleast ( const0 , 2 ) , repeat ( <f> , 4 ) ) ) ) )
concat ( repeatatleast ( <num> , 3 ) , concat ( repeatatleast ( <low> , 2 ) , concat ( repeatrange ( <cap> , 2 , 4 ) , concat ( repeatatleast ( const0 , 2 ) , repeat ( const1 , 4 ) ) ) ) )
concat ( repeat ( <cap> , 2 ) , concat ( repeatrange ( <num> , 2 , 3 ) , repeatrange ( <let> , 1 , 3 ) ) )
concat ( or ( const0 , const1 ) , repeatatleast ( <cap> , 1 ) )
concat ( repeatrange ( <num> , 2 , 4 ) , optional ( repeatrange ( or ( <low> , <num> ) , 1 , 3 ) ) )
concat ( repeatrange ( <cap> , 2 , 3 ) , optional ( repeatrange ( or ( <num> , <cap> ) , 3 , 4 ) ) )
concat ( or ( const0 , const1 ) , concat ( optional ( <l> ) , concat ( or ( const0 , const1 ) , optional ( repeatatleast ( <num> , 3 ) ) ) ) )
concat ( repeat ( notcc ( <low> ) , 4 ) , concat ( repeatrange ( <num> , 1 , 3 ) , concat ( repeatrange ( <low> , 3 , 4 ) , repeat ( <let> , 3 ) ) ) )
concat ( repeatrange ( <low> , 3 , 4 ) , concat ( repeatrange ( <cap> , 1 , 2 ) , concat ( or ( const0 , <4> ) , concat ( repeatrange ( <cap> , 1 , 3 ) , repeatatleast ( <low> , 3 ) ) ) ) )
concat ( or ( const0 , const1 ) , concat ( optional ( repeatrange ( const2 , 3 , 4 ) ) , repeatrange ( notcc ( <cap> ) , 1 , 2 ) ) )
concat ( repeatrange ( <cap> , 2 , 4 ) , concat ( repeat ( <num> , 2 ) , concat ( repeatrange ( <cap> , 2 , 4 ) , concat ( optional ( repeatatleast ( notcc ( <let> ) , 3 ) ) , repeatrange ( <cap> , 2 , 4 ) ) ) ) )
concat ( and ( repeatatleast ( or ( <num> , or ( <cap> , const0 ) ) , 1 ) , and ( repeatatleast ( <any> , 3 ) , startwith ( or ( repeat ( const1 , 2 ) , repeat ( const2 , 2 ) ) ) ) ) , concat ( <,> , concat ( and ( repeatatleast ( or ( <num> , or ( <cap> , const0 ) ) , 1 ) , and ( repeatatleast ( <any> , 3 ) , startwith ( or ( repeat ( const1 , 2 ) , repeat ( const2 , 2 ) ) ) ) ) , concat ( <,> , and ( repeatatleast ( or ( <num> , or ( <cap> , const0 ) ) , 1 ) , and ( repeatatleast ( <any> , 3 ) , startwith ( or ( repeat ( const1 , 2 ) , repeat ( const2 , 2 ) ) ) ) ) ) ) ) )
concat ( concat ( repeatatleast ( <low> , 1 ) , concat ( repeatatleast ( const0 , 1 ) , repeat ( <num> , 4 ) ) ) , concat ( <.> , concat ( concat ( repeatatleast ( <low> , 1 ) , concat ( repeatatleast ( const0 , 1 ) , repeat ( <num> , 4 ) ) ) , concat ( <.> , repeatatleast ( or ( <num> , <cap> ) , 1 ) ) ) ) )
concat ( repeatatleast ( <num> , 1 ) , concat ( <.> , concat ( and ( repeatatleast ( or ( <num> , or ( <cap> , <low> ) ) , 1 ) , repeatrange ( <any> , 2 , 5 ) ) , concat ( <.> , repeatrange ( <3> , 3 , 4 ) ) ) ) )
concat ( concat ( or ( const1 , const2 ) , repeatrange ( <let> , 2 , 4 ) ) , concat ( const0 , concat ( and ( repeatatleast ( <cap> , 1 ) , not ( contain ( const3 ) ) ) , concat ( const0 , and ( repeatatleast ( <cap> , 1 ) , not ( contain ( const3 ) ) ) ) ) ) )
concat ( concat ( repeatrange ( const0 , 2 , 3 ) , repeat ( <num> , 2 ) ) , star ( concat ( <-> , concat ( repeatrange ( const0 , 2 , 3 ) , repeat ( <num> , 2 ) ) ) ) )
concat ( repeatatleast ( <low> , 1 ) , concat ( <;> , concat ( concat ( repeat ( const0 , 2 ) , repeatatleast ( <let> , 3 ) ) , concat ( <;> , concat ( repeat ( const0 , 2 ) , repeatatleast ( <let> , 3 ) ) ) ) ) )
concat ( and ( repeatatleast ( <let> , 1 ) , and ( endwith ( const0 ) , not ( startwith ( const1 ) ) ) ) , concat ( <,> , concat ( and ( repeatatleast ( <let> , 1 ) , and ( endwith ( const0 ) , not ( startwith ( const1 ) ) ) ) , concat ( <,> , and ( repeatatleast ( <let> , 1 ) , and ( endwith ( const0 ) , not ( startwith ( const1 ) ) ) ) ) ) ) )
concat ( or ( const0 , const1 ) , concat ( <;> , concat ( or ( const0 , const1 ) , concat ( <;> , repeatatleast ( or ( <cap> , or ( <low> , const2 ) ) , 1 ) ) ) ) )
concat ( and ( repeatatleast ( <cap> , 1 ) , and ( not ( startwith ( const0 ) ) , not ( startwith ( const1 ) ) ) ) , concat ( <.> , concat ( and ( repeatatleast ( <cap> , 1 ) , and ( not ( startwith ( const0 ) ) , not ( startwith ( const1 ) ) ) ) , concat ( <.> , and ( repeatatleast ( <cap> , 1 ) , and ( not ( startwith ( const0 ) ) , not ( startwith ( const1 ) ) ) ) ) ) ) )
concat ( repeatatleast ( <num> , 1 ) , concat ( <-> , concat ( concat ( or ( const0 , const1 ) , const2 ) , concat ( <-> , concat ( or ( const0 , const1 ) , const2 ) ) ) ) )
concat ( repeatatleast ( or ( <let> , or ( const0 , const1 ) ) , 1 ) , concat ( <-> , concat ( and ( repeatatleast ( <let> , 1 ) , and ( repeatrange ( <any> , 1 , 4 ) , startwith ( const2 ) ) ) , concat ( <-> , and ( repeatatleast ( <let> , 1 ) , and ( repeatrange ( <any> , 1 , 4 ) , startwith ( const2 ) ) ) ) ) ) )
concat ( concat ( const0 , repeat ( <l> , 4 ) ) , concat ( <-> , concat ( repeatatleast ( or ( <low> , <num> ) , 1 ) , concat ( <-> , repeatatleast ( <let> , 1 ) ) ) ) )
concat ( repeatatleast ( or ( <num> , <low> ) , 1 ) , concat ( <;> , concat ( repeatatleast ( or ( <let> , <num> ) , 1 ) , concat ( <;> , repeat ( <low> , 3 ) ) ) ) )
concat ( const0 , concat ( <.> , concat ( concat ( <num> , repeatatleast ( const1 , 2 ) ) , concat ( <.> , repeatrange ( <num> , 2 , 4 ) ) ) ) )
concat ( and ( repeatatleast ( or ( <low> , <num> ) , 1 ) , repeatrange ( <any> , 0 , 4 ) ) , star ( concat ( <;> , and ( repeatatleast ( or ( <low> , <num> ) , 1 ) , repeatrange ( <any> , 0 , 4 ) ) ) ) )
concat ( and ( repeatatleast ( <num> , 1 ) , repeatatleast ( <any> , 2 ) ) , concat ( <-> , concat ( <Y> , concat ( <-> , concat ( optional ( repeatrange ( <6> , 2 , 4 ) ) , repeat ( <num> , 4 ) ) ) ) ) )
concat ( concat ( or ( repeatrange ( <num> , 3 , 4 ) , repeatrange ( <low> , 3 , 4 ) ) , repeatrange ( <low> , 1 , 3 ) ) , concat ( <;> , concat ( concat ( or ( repeatrange ( <num> , 3 , 4 ) , repeatrange ( <low> , 3 , 4 ) ) , repeatrange ( <low> , 1 , 3 ) ) , concat ( <;> , and ( repeatatleast ( <low> , 1 ) , repeat ( <any> , 3 ) ) ) ) ) )
concat ( concat ( repeatrange ( const0 , 1 , 2 ) , repeatrange ( <let> , 3 , 4 ) ) , concat ( <-> , concat ( repeatrange ( <let> , 3 , 4 ) , concat ( <-> , repeatrange ( <let> , 3 , 4 ) ) ) ) )
concat ( or ( const0 , const1 ) , concat ( <;> , concat ( and ( repeatatleast ( or ( <low> , or ( <num> , <cap> ) ) , 1 ) , and ( repeatrange ( <any> , 1 , 4 ) , startwith ( or ( repeat ( <num> , 3 ) , repeat ( <low> , 3 ) ) ) ) ) , concat ( <;> , and ( repeatatleast ( or ( <low> , or ( <num> , <cap> ) ) , 1 ) , and ( repeatrange ( <any> , 1 , 4 ) , startwith ( or ( repeat ( <num> , 3 ) , repeat ( <low> , 3 ) ) ) ) ) ) ) ) )
concat ( or ( const0 , const1 ) , concat ( <;> , concat ( and ( repeatatleast ( or ( <low> , or ( <num> , <cap> ) ) , 1 ) , and ( repeatrange ( <any> , 1 , 4 ) , startwith ( or ( repeat ( <num> , 3 ) , repeat ( <low> , 3 ) ) ) ) ) , concat ( <;> , and ( repeatatleast ( or ( <low> , or ( <num> , <cap> ) ) , 1 ) , and ( repeatrange ( <any> , 1 , 4 ) , startwith ( or ( repeat ( <num> , 3 ) , repeat ( <low> , 3 ) ) ) ) ) ) ) ) )
concat ( repeatatleast ( <low> , 1 ) , concat ( <,> , concat ( repeatatleast ( <low> , 1 ) , concat ( <,> , repeatatleast ( <low> , 1 ) ) ) ) )
and ( not ( startwith ( <low> ) ) , and ( not ( endwith ( concat ( <spec> , <cap> ) ) ) , and ( not ( startwith ( <cap> ) ) , contain ( <cap> ) ) ) )
and ( repeatrange ( <any> , 0 , 8 ) , and ( not ( contain ( repeat ( const0 , 2 ) ) ) , not ( contain ( <cap> ) ) ) )
and ( repeatatleast ( <low> , 1 ) , and ( not ( startwith ( <l> ) ) , not ( startwith ( const0 ) ) ) )
not ( endwith ( <let> ) )
and ( not ( contain ( concat ( <low> , const0 ) ) ) , and ( not ( endwith ( <spec> ) ) , contain ( const1 ) ) )
not ( startwith ( const0 ) )
and ( contain ( <cap> ) , and ( and ( not ( endwith ( <spec> ) ) , not ( contain ( concat ( <spec> , notcc ( <num> ) ) ) ) ) , not ( contain ( <low> ) ) ) )
not ( startwith ( <spec> ) )
and ( and ( endwith ( <low> ) , not ( endwith ( <i> ) ) ) , and ( startwith ( <low> ) , not ( contain ( const0 ) ) ) )
and ( repeatatleast ( or ( <cap> , <spec> ) , 1 ) , and ( repeatatleast ( <any> , 6 ) , and ( not ( contain ( repeat ( <cap> , 3 ) ) ) , startwith ( <cap> ) ) ) )
and ( repeatrange ( <any> , 6 , 8 ) , and ( endwith ( concat ( <low> , <cap> ) ) , not ( contain ( const0 ) ) ) )
and ( not ( contain ( <spec> ) ) , endwith ( <let> ) )
and ( not ( contain ( <spec> ) ) , endwith ( <let> ) )
and ( not ( endwith ( const0 ) ) , and ( contain ( or ( const1 , const2 ) ) , and ( contain ( <low> ) , startwith ( const3 ) ) ) )
and ( not ( contain ( const0 ) ) , and ( startwith ( repeat ( <spec> , 3 ) ) , not ( startwith ( repeat ( const1 , 3 ) ) ) ) )
contain ( <let> )
and ( repeatatleast ( <num> , 1 ) , and ( repeatrange ( <any> , 0 , 10 ) , and ( not ( startwith ( const0 ) ) , and ( contain ( const1 ) , endwith ( const2 ) ) ) ) )
and ( startwith ( repeat ( <num> , 3 ) ) , not ( startwith ( repeat ( const0 , 3 ) ) ) )
and ( not ( endwith ( <num> ) ) , not ( contain ( concat ( <num> , notcc ( <low> ) ) ) ) )
repeatatleast ( or ( <low> , <num> ) , 1 )
startwith ( or ( const0 , const1 ) )
and ( repeatatleast ( <any> , 4 ) , and ( startwith ( or ( repeat ( <low> , 3 ) , repeat ( <spec> , 3 ) ) ) , not ( contain ( <num> ) ) ) )
and ( repeatatleast ( <any> , 4 ) , and ( startwith ( or ( repeat ( <low> , 3 ) , repeat ( <spec> , 3 ) ) ) , not ( contain ( <num> ) ) ) )
and ( repeatatleast ( or ( <cap> , or ( <num> , <spec> ) ) , 1 ) , startwith ( or ( <spec> , <cap> ) ) )
and ( repeatatleast ( or ( <num> , or ( <let> , const0 ) ) , 1 ) , and ( not ( contain ( concat ( const0 , const1 ) ) ) , not ( endwith ( repeat ( <num> , 3 ) ) ) ) )
and ( not ( contain ( concat ( <cap> , repeat ( <let> , 2 ) ) ) ) , not ( startwith ( <low> ) ) )
and ( repeatrange ( <any> , 0 , 8 ) , not ( contain ( const0 ) ) )
and ( repeatrange ( <any> , 0 , 8 ) , not ( contain ( const0 ) ) )
and ( repeatrange ( <any> , 6 , 9 ) , and ( and ( startwith ( repeat ( <low> , 2 ) ) , not ( startwith ( const0 ) ) ) , and ( endwith ( or ( <num> , <cap> ) ) , contain ( const1 ) ) ) )
and ( not ( contain ( repeat ( <spec> , 2 ) ) ) , and ( not ( endwith ( repeat ( <let> , 3 ) ) ) , and ( startwith ( <cap> ) , not ( startwith ( const0 ) ) ) ) )
and ( repeatatleast ( or ( <cap> , or ( <spec> , <low> ) ) , 1 ) , and ( contain ( <low> ) , and ( not ( endwith ( <cap> ) ) , and ( contain ( const0 ) , startwith ( or ( repeat ( <cap> , 3 ) , repeat ( <low> , 3 ) ) ) ) ) ) )
and ( repeatatleast ( or ( <num> , or ( <low> , or ( <,> , const0 ) ) ) , 1 ) , and ( not ( endwith ( <low> ) ) , not ( contain ( concat ( <low> , notcc ( <num> ) ) ) ) ) )
and ( endwith ( <cap> ) , not ( endwith ( const0 ) ) )
and ( repeatatleast ( or ( <let> , or ( <num> , <spec> ) ) , 1 ) , and ( repeatatleast ( <any> , 6 ) , contain ( or ( <spec> , <low> ) ) ) )
and ( not ( startwith ( <low> ) ) , and ( and ( endwith ( <let> ) , not ( endwith ( const0 ) ) ) , and ( contain ( <low> ) , not ( contain ( <num> ) ) ) ) )
startwith ( or ( const0 , const1 ) )
and ( repeatatleast ( or ( <let> , or ( <spec> , <num> ) ) , 1 ) , and ( repeatrange ( <any> , 6 , 10 ) , and ( and ( startwith ( <cap> ) , not ( startwith ( const0 ) ) ) , not ( endwith ( repeat ( <let> , 2 ) ) ) ) ) )
concat ( const0 , concat ( optional ( or ( const1 , const2 ) ) , concat ( repeatatleast ( notcc ( <cap> ) , 1 ) , concat ( repeatrange ( <cap> , 3 , 4 ) , repeat ( notcc ( <let> ) , 3 ) ) ) ) )
concat ( repeatatleast ( <cap> , 3 ) , concat ( repeat ( <let> , 4 ) , repeatatleast ( <cap> , 3 ) ) )
concat ( repeatatleast ( <num> , 1 ) , concat ( repeat ( <let> , 3 ) , concat ( repeatrange ( <num> , 3 , 4 ) , repeatrange ( <let> , 1 , 4 ) ) ) )
concat ( repeatatleast ( notcc ( <num> ) , 1 ) , concat ( or ( const0 , const1 ) , concat ( repeatrange ( <num> , 3 , 4 ) , or ( repeatatleast ( <num> , 1 ) , repeatatleast ( <low> , 1 ) ) ) ) )
concat ( optional ( repeatrange ( <cap> , 1 , 4 ) ) , concat ( repeatrange ( const0 , 3 , 4 ) , repeatrange ( <cap> , 1 , 4 ) ) )
concat ( repeatatleast ( notcc ( <let> ) , 1 ) , optional ( repeatrange ( <let> , 1 , 4 ) ) )
concat ( repeatrange ( <cap> , 2 , 4 ) , concat ( repeat ( <let> , 2 ) , concat ( repeatrange ( <cap> , 2 , 4 ) , concat ( repeat ( <let> , 2 ) , or ( const0 , const1 ) ) ) ) )
concat ( repeat ( <num> , 2 ) , concat ( repeatatleast ( <cap> , 1 ) , concat ( <num> , or ( const0 , const1 ) ) ) )
concat ( repeat ( <num> , 2 ) , concat ( repeatatleast ( <cap> , 1 ) , concat ( <num> , or ( const0 , const1 ) ) ) )
concat ( optional ( repeatatleast ( <num> , 1 ) ) , repeatrange ( <let> , 1 , 2 ) )
concat ( repeatrange ( <let> , 2 , 3 ) , optional ( repeat ( <num> , 4 ) ) )
concat ( repeatrange ( <let> , 1 , 2 ) , concat ( or ( const0 , const1 ) , concat ( repeatrange ( <let> , 1 , 2 ) , or ( const0 , const1 ) ) ) )
concat ( or ( const0 , const1 ) , concat ( repeatrange ( <low> , 1 , 3 ) , concat ( repeatrange ( <cap> , 2 , 4 ) , concat ( repeatatleast ( const2 , 3 ) , concat ( repeatrange ( const3 , 3 , 4 ) , <low> ) ) ) ) )
concat ( repeatrange ( or ( <cap> , <low> ) , 3 , 4 ) , concat ( repeatrange ( <let> , 1 , 4 ) , concat ( repeatrange ( or ( <cap> , <low> ) , 3 , 4 ) , repeat ( const0 , 3 ) ) ) )
concat ( const0 , concat ( repeatrange ( const1 , 2 , 4 ) , concat ( repeatrange ( <let> , 1 , 2 ) , concat ( const0 , or ( const2 , const3 ) ) ) ) )
concat ( repeat ( const0 , 4 ) , concat ( repeatrange ( <low> , 2 , 3 ) , concat ( or ( const1 , const2 ) , concat ( repeatatleast ( <cap> , 2 ) , concat ( repeatrange ( const3 , 2 , 3 ) , repeatatleast ( <num> , 1 ) ) ) ) ) )
concat ( or ( const0 , const1 ) , concat ( repeat ( <low> , 3 ) , concat ( or ( const0 , const1 ) , repeat ( <let> , 4 ) ) ) )
concat ( repeatrange ( const0 , 1 , 3 ) , concat ( repeatrange ( <num> , 2 , 4 ) , concat ( repeatatleast ( <cap> , 3 ) , or ( const1 , const2 ) ) ) )
concat ( optional ( const0 ) , concat ( repeatrange ( <num> , 2 , 4 ) , repeatatleast ( <low> , 3 ) ) )
concat ( or ( const0 , const1 ) , concat ( repeatrange ( notcc ( <let> ) , 2 , 4 ) , concat ( repeat ( <num> , 3 ) , repeat ( const2 , 2 ) ) ) )
concat ( repeatatleast ( <l> , 1 ) , repeat ( <let> , 3 ) )
concat ( repeat ( const0 , 3 ) , concat ( repeatrange ( or ( <low> , <num> ) , 3 , 4 ) , concat ( repeatrange ( <let> , 1 , 4 ) , concat ( repeatrange ( const1 , 3 , 4 ) , or ( repeatatleast ( <let> , 3 ) , repeatatleast ( <num> , 3 ) ) ) ) ) )
concat ( repeatatleast ( <let> , 2 ) , concat ( repeat ( notcc ( <cap> ) , 2 ) , concat ( const0 , concat ( repeatrange ( <num> , 1 , 3 ) , repeatrange ( <low> , 3 , 4 ) ) ) ) )
concat ( repeatrange ( <cap> , 2 , 4 ) , concat ( repeatrange ( <l> , 1 , 2 ) , repeat ( <let> , 3 ) ) )
concat ( repeatatleast ( <cap> , 3 ) , concat ( repeatatleast ( <low> , 2 ) , concat ( or ( repeatrange ( <low> , 1 , 2 ) , repeatrange ( <num> , 1 , 2 ) ) , repeatatleast ( <num> , 3 ) ) ) )
concat ( const0 , concat ( or ( const ( <flt> ) , const1 ) , concat ( repeatrange ( <cap> , 3 , 4 ) , concat ( repeatrange ( const2 , 1 , 2 ) , repeat ( <let> , 4 ) ) ) ) )
concat ( repeatrange ( notcc ( <cap> ) , 3 , 4 ) , concat ( repeatatleast ( <cap> , 3 ) , concat ( repeatrange ( notcc ( <cap> ) , 3 , 4 ) , repeatatleast ( <cap> , 3 ) ) ) )
concat ( repeatatleast ( <num> , 2 ) , concat ( repeatrange ( <cap> , 3 , 4 ) , concat ( repeatatleast ( <num> , 1 ) , concat ( repeatrange ( const0 , 1 , 3 ) , concat ( optional ( repeatrange ( <num> , 2 , 4 ) ) , repeatrange ( <let> , 3 , 4 ) ) ) ) ) )
concat ( repeat ( <let> , 3 ) , concat ( optional ( repeatrange ( <low> , 2 , 4 ) ) , concat ( repeat ( <let> , 3 ) , concat ( repeat ( const0 , 2 ) , optional ( repeat ( <let> , 3 ) ) ) ) ) )
concat ( repeatrange ( <let> , 1 , 4 ) , concat ( const0 , repeatatleast ( <low> , 1 ) ) )
concat ( repeat ( <let> , 2 ) , repeatrange ( <low> , 1 , 3 ) )
concat ( repeatatleast ( const0 , 2 ) , concat ( <l> , concat ( <num> , repeatrange ( <low> , 1 , 4 ) ) ) )
concat ( repeatatleast ( or ( <num> , <cap> ) , 1 ) , concat ( optional ( repeat ( <let> , 2 ) ) , repeatatleast ( or ( <num> , <cap> ) , 1 ) ) )
concat ( repeatrange ( or ( <cap> , <num> ) , 2 , 3 ) , concat ( repeat ( <cap> , 2 ) , concat ( repeatrange ( or ( <cap> , <num> ) , 2 , 3 ) , repeat ( <cap> , 2 ) ) ) )
concat ( repeat ( const0 , 2 ) , concat ( repeatrange ( <cap> , 2 , 4 ) , concat ( repeat ( const0 , 2 ) , concat ( or ( const1 , const2 ) , optional ( repeat ( const0 , 2 ) ) ) ) ) )
concat ( repeatrange ( const0 , 3 , 4 ) , concat ( or ( const1 , const2 ) , concat ( repeatrange ( const0 , 3 , 4 ) , or ( const1 , const2 ) ) ) )
concat ( <let> , concat ( repeatatleast ( <low> , 3 ) , repeatrange ( <cap> , 1 , 3 ) ) )
concat ( repeatrange ( <low> , 3 , 4 ) , repeatatleast ( <cap> , 3 ) )
concat ( repeat ( <let> , 3 ) , star ( concat ( <,> , repeat ( <let> , 3 ) ) ) )
concat ( concat ( repeat ( or ( <let> , <num> ) , 4 ) , repeatrange ( <low> , 2 , 4 ) ) , concat ( <;> , concat ( concat ( repeat ( or ( <let> , <num> ) , 4 ) , repeatrange ( <low> , 2 , 4 ) ) , concat ( <;> , repeatatleast ( <cap> , 1 ) ) ) ) )
concat ( concat ( repeatrange ( <let> , 2 , 4 ) , concat ( const0 , <low> ) ) , concat ( <.> , concat ( concat ( repeatrange ( <let> , 2 , 4 ) , concat ( const0 , <low> ) ) , concat ( <.> , concat ( repeatrange ( <let> , 2 , 4 ) , concat ( const0 , <low> ) ) ) ) ) )
concat ( repeatatleast ( or ( <num> , or ( <low> , <cap> ) ) , 1 ) , concat ( <-> , concat ( repeatatleast ( or ( <num> , or ( <low> , <cap> ) ) , 1 ) , concat ( <-> , and ( repeatatleast ( or ( <num> , <cap> ) , 1 ) , repeatatleast ( <any> , 4 ) ) ) ) ) )
concat ( <cap> , concat ( <,> , concat ( repeatatleast ( or ( <low> , <cap> ) , 1 ) , concat ( <,> , and ( repeatatleast ( or ( <low> , or ( <num> , const0 ) ) , 1 ) , not ( endwith ( concat ( <num> , <low> ) ) ) ) ) ) ) )
concat ( or ( repeatatleast ( const0 , 1 ) , repeatatleast ( const1 , 1 ) ) , concat ( <.> , concat ( or ( repeatatleast ( const0 , 1 ) , repeatatleast ( const1 , 1 ) ) , concat ( <.> , concat ( or ( repeatatleast ( const0 , 1 ) , repeatatleast ( const1 , 1 ) ) , repeatrange ( <num> , 2 , 3 ) ) ) ) ) )
concat ( concat ( optional ( repeatatleast ( <low> , 3 ) ) , repeat ( <num> , 3 ) ) , concat ( <.> , concat ( concat ( optional ( repeatatleast ( <low> , 3 ) ) , repeat ( <num> , 3 ) ) , concat ( <.> , concat ( optional ( repeatatleast ( <low> , 3 ) ) , repeat ( <num> , 3 ) ) ) ) ) )
concat ( and ( repeatatleast ( <cap> , 1 ) , repeat ( <any> , 5 ) ) , concat ( <;> , concat ( and ( repeatatleast ( <cap> , 1 ) , repeat ( <any> , 5 ) ) , concat ( <;> , and ( repeatatleast ( or ( <num> , or ( <low> , const0 ) ) , 1 ) , startwith ( <low> ) ) ) ) ) )
concat ( concat ( repeatrange ( <let> , 1 , 4 ) , concat ( repeatrange ( const0 , 2 , 4 ) , repeatatleast ( <let> , 1 ) ) ) , concat ( <-> , concat ( concat ( repeatrange ( <let> , 1 , 4 ) , concat ( repeatrange ( const0 , 2 , 4 ) , repeatatleast ( <let> , 1 ) ) ) , concat ( <-> , concat ( repeatrange ( <let> , 1 , 4 ) , concat ( repeatrange ( const0 , 2 , 4 ) , repeatatleast ( <let> , 1 ) ) ) ) ) ) )
concat ( concat ( repeatatleast ( <cap> , 1 ) , repeatatleast ( const0 , 2 ) ) , concat ( <,> , concat ( repeatatleast ( or ( <low> , or ( <cap> , const1 ) ) , 1 ) , concat ( <,> , repeatatleast ( or ( <low> , or ( <cap> , const1 ) ) , 1 ) ) ) ) )
concat ( concat ( repeat ( const0 , 2 ) , repeat ( <num> , 3 ) ) , concat ( <-> , concat ( concat ( repeatrange ( <low> , 1 , 2 ) , repeatrange ( const1 , 1 , 4 ) ) , concat ( <-> , or ( const2 , const3 ) ) ) ) )
concat ( concat ( optional ( repeatatleast ( <num> , 2 ) ) , concat ( repeatrange ( const0 , 3 , 4 ) , optional ( repeatrange ( <num> , 2 , 4 ) ) ) ) , concat ( <.> , concat ( concat ( optional ( repeatatleast ( <num> , 2 ) ) , concat ( repeatrange ( const0 , 3 , 4 ) , optional ( repeatrange ( <num> , 2 , 4 ) ) ) ) , concat ( <.> , concat ( repeat ( <let> , 3 ) , const1 ) ) ) ) )
concat ( repeatrange ( const0 , 1 , 4 ) , concat ( <;> , concat ( repeatatleast ( or ( <cap> , <low> ) , 1 ) , concat ( <;> , and ( repeatatleast ( or ( <let> , <num> ) , 1 ) , repeat ( <any> , 4 ) ) ) ) ) )
concat ( repeatrange ( const0 , 2 , 3 ) , concat ( <.> , concat ( and ( repeatatleast ( or ( <low> , <cap> ) , 1 ) , and ( not ( startwith ( <low> ) ) , not ( endwith ( <cap> ) ) ) ) , concat ( <.> , and ( repeatatleast ( or ( <low> , <cap> ) , 1 ) , and ( not ( startwith ( <low> ) ) , not ( endwith ( <cap> ) ) ) ) ) ) ) )
concat ( concat ( or ( repeatrange ( <low> , 2 , 4 ) , repeatrange ( <num> , 2 , 4 ) ) , repeatrange ( <let> , 2 , 3 ) ) , concat ( <,> , concat ( or ( repeatrange ( <low> , 2 , 4 ) , repeatrange ( <num> , 2 , 4 ) ) , concat ( <,> , or ( repeatrange ( <low> , 2 , 4 ) , repeatrange ( <num> , 2 , 4 ) ) ) ) ) )
concat ( and ( repeatatleast ( or ( <low> , <num> ) , 1 ) , startwith ( <low> ) ) , concat ( <.> , concat ( and ( repeatatleast ( or ( <low> , <num> ) , 1 ) , startwith ( <low> ) ) , concat ( <.> , and ( repeatatleast ( or ( <let> , <num> ) , 1 ) , repeatatleast ( <any> , 3 ) ) ) ) ) )
concat ( and ( repeatatleast ( <cap> , 1 ) , and ( not ( startwith ( const0 ) ) , endwith ( const1 ) ) ) , concat ( <-> , concat ( and ( repeatatleast ( <cap> , 1 ) , and ( not ( startwith ( const0 ) ) , endwith ( const1 ) ) ) , concat ( <-> , and ( repeatatleast ( <cap> , 1 ) , and ( not ( startwith ( const0 ) ) , endwith ( const1 ) ) ) ) ) ) )
concat ( and ( repeatatleast ( <num> , 1 ) , repeatrange ( <any> , 0 , 3 ) ) , star ( concat ( <.> , and ( repeatatleast ( <num> , 1 ) , repeatrange ( <any> , 0 , 3 ) ) ) ) )
concat ( and ( repeatatleast ( or ( <cap> , <num> ) , 1 ) , repeat ( <any> , 4 ) ) , concat ( const0 , concat ( and ( repeatatleast ( or ( <low> , or ( <num> , <cap> ) ) , 1 ) , repeatrange ( <any> , 0 , 4 ) ) , concat ( const0 , concat ( or ( const1 , const2 ) , repeatatleast ( <low> , 2 ) ) ) ) ) )
concat ( repeatatleast ( <let> , 3 ) , concat ( <-> , concat ( repeatrange ( <cap> , 1 , 4 ) , concat ( <-> , repeatrange ( <cap> , 1 , 4 ) ) ) ) )
concat ( repeatatleast ( <let> , 3 ) , concat ( <-> , concat ( repeatrange ( <cap> , 1 , 4 ) , concat ( <-> , repeatrange ( <cap> , 1 , 4 ) ) ) ) )
concat ( concat ( <low> , repeat ( <let> , 4 ) ) , concat ( <,> , concat ( repeatatleast ( <low> , 1 ) , concat ( <,> , repeatatleast ( <low> , 1 ) ) ) ) )
concat ( concat ( optional ( repeat ( <low> , 4 ) ) , repeatrange ( <let> , 1 , 3 ) ) , concat ( <;> , concat ( concat ( optional ( repeat ( <low> , 4 ) ) , repeatrange ( <let> , 1 , 3 ) ) , concat ( <;> , and ( repeatatleast ( or ( <low> , const0 ) , 1 ) , repeatrange ( <any> , 2 , 5 ) ) ) ) ) )
concat ( and ( repeatatleast ( or ( <low> , or ( <num> , <cap> ) ) , 1 ) , and ( repeat ( <any> , 3 ) , not ( endwith ( <low> ) ) ) ) , star ( concat ( <;> , and ( repeatatleast ( or ( <low> , or ( <num> , <cap> ) ) , 1 ) , and ( repeat ( <any> , 3 ) , not ( endwith ( <low> ) ) ) ) ) ) )
concat ( repeatrange ( <low> , 3 , 4 ) , star ( concat ( <,> , repeatrange ( <low> , 3 , 4 ) ) ) )
concat ( repeatatleast ( or ( <cap> , <num> ) , 1 ) , concat ( <.> , concat ( repeatatleast ( or ( <cap> , <num> ) , 1 ) , concat ( <.> , repeatatleast ( or ( <cap> , <num> ) , 1 ) ) ) ) )
concat ( or ( const0 , const1 ) , concat ( <,> , concat ( concat ( or ( const2 , const3 ) , or ( const0 , const1 ) ) , concat ( <,> , concat ( or ( const2 , const3 ) , or ( const0 , const1 ) ) ) ) ) )
concat ( and ( repeatatleast ( or ( <let> , <num> ) , 1 ) , not ( startwith ( <num> ) ) ) , concat ( <;> , concat ( and ( repeatatleast ( or ( <let> , <num> ) , 1 ) , and ( repeatatleast ( <any> , 3 ) , not ( startwith ( <num> ) ) ) ) , concat ( <;> , and ( repeatatleast ( or ( <let> , <num> ) , 1 ) , and ( repeatatleast ( <any> , 3 ) , not ( startwith ( <num> ) ) ) ) ) ) ) )
concat ( concat ( const0 , repeatrange ( <low> , 2 , 4 ) ) , concat ( <-> , concat ( concat ( const0 , repeatrange ( <low> , 2 , 4 ) ) , concat ( <-> , concat ( const0 , concat ( repeatrange ( <low> , 2 , 4 ) , repeatrange ( const1 , 3 , 4 ) ) ) ) ) ) )
and ( repeatatleast ( <let> , 1 ) , repeatatleast ( <any> , 6 ) )
and ( contain ( const0 ) , and ( endwith ( repeat ( <low> , 2 ) ) , and ( not ( startwith ( <low> ) ) , not ( contain ( <num> ) ) ) ) )
and ( repeatatleast ( or ( <spec> , or ( <low> , or ( <cap> , const0 ) ) ) , 1 ) , repeatrange ( <any> , 6 , 10 ) )
and ( repeatatleast ( or ( <spec> , or ( <cap> , const0 ) ) , 1 ) , and ( repeatatleast ( <any> , 6 ) , and ( contain ( concat ( const1 , <cap> ) ) , and ( not ( endwith ( <spec> ) ) , not ( contain ( concat ( <spec> , notcc ( <cap> ) ) ) ) ) ) ) )
and ( not ( contain ( concat ( repeat ( <let> , 3 ) , <num> ) ) ) , and ( and ( startwith ( <num> ) , not ( startwith ( const0 ) ) ) , not ( contain ( const1 ) ) ) )
repeatatleast ( <low> , 1 )
repeatatleast ( <low> , 1 )
and ( not ( contain ( <num> ) ) , and ( contain ( <low> ) , and ( startwith ( repeat ( <cap> , 3 ) ) , not ( startwith ( const0 ) ) ) ) )
and ( repeatrange ( <any> , 6 , 8 ) , and ( not ( endwith ( <low> ) ) , and ( contain ( <spec> ) , startwith ( <num> ) ) ) )
and ( and ( endwith ( <low> ) , not ( endwith ( const0 ) ) ) , and ( not ( contain ( concat ( <low> , const1 ) ) ) , startwith ( <cap> ) ) )
and ( and ( endwith ( <low> ) , not ( endwith ( const0 ) ) ) , and ( not ( contain ( concat ( <low> , const1 ) ) ) , startwith ( <cap> ) ) )
and ( repeatatleast ( <let> , 1 ) , and ( startwith ( const0 ) , endwith ( const1 ) ) )
and ( endwith ( <spec> ) , and ( and ( startwith ( <low> ) , not ( startwith ( const0 ) ) ) , contain ( <cap> ) ) )
and ( repeatrange ( <any> , 5 , 10 ) , and ( not ( contain ( const0 ) ) , and ( not ( contain ( const1 ) ) , contain ( <cap> ) ) ) )
and ( repeatatleast ( or ( <low> , or ( <spec> , or ( <num> , <cap> ) ) ) , 1 ) , startwith ( concat ( <cap> , repeat ( <num> , 2 ) ) ) )
and ( repeatatleast ( or ( <low> , <num> ) , 1 ) , and ( endwith ( <num> ) , not ( endwith ( const0 ) ) ) )
and ( repeatatleast ( <let> , 1 ) , and ( repeatatleast ( <any> , 5 ) , and ( startwith ( const0 ) , endwith ( const1 ) ) ) )
and ( repeatatleast ( <cap> , 1 ) , and ( not ( contain ( const0 ) ) , not ( contain ( const1 ) ) ) )
and ( repeatatleast ( or ( <let> , or ( <spec> , <num> ) ) , 1 ) , and ( contain ( <let> ) , and ( endwith ( <num> ) , and ( not ( startwith ( <spec> ) ) , not ( contain ( concat ( notcc ( <num> ) , <spec> ) ) ) ) ) ) )
and ( repeatatleast ( or ( <cap> , or ( <spec> , or ( <low> , <num> ) ) ) , 1 ) , and ( not ( endwith ( <cap> ) ) , startwith ( or ( <low> , <num> ) ) ) )
and ( not ( startwith ( <num> ) ) , contain ( repeat ( <let> , 2 ) ) )
and ( repeatatleast ( or ( <let> , const0 ) , 1 ) , and ( contain ( const1 ) , endwith ( <let> ) ) )
and ( repeatatleast ( or ( <num> , or ( <let> , <spec> ) ) , 1 ) , and ( repeatrange ( <any> , 0 , 8 ) , and ( not ( startwith ( <num> ) ) , and ( not ( contain ( const0 ) ) , not ( contain ( const1 ) ) ) ) ) )
and ( repeatatleast ( <any> , 4 ) , and ( not ( endwith ( <let> ) ) , not ( contain ( concat ( <let> , notcc ( <low> ) ) ) ) ) )
and ( repeatrange ( <any> , 0 , 9 ) , and ( contain ( <spec> ) , startwith ( <low> ) ) )
contain ( or ( const0 , const1 ) )
not ( contain ( <num> ) )
and ( not ( startwith ( <num> ) ) , and ( not ( startwith ( repeat ( <cap> , 2 ) ) ) , and ( not ( contain ( repeat ( const0 , 2 ) ) ) , contain ( <num> ) ) ) )
and ( and ( not ( startwith ( <let> ) ) , not ( contain ( concat ( notcc ( <num> ) , <let> ) ) ) ) , not ( contain ( const0 ) ) )
and ( repeatrange ( <any> , 6 , 9 ) , and ( not ( startwith ( const0 ) ) , and ( endwith ( or ( repeat ( <spec> , 3 ) , repeat ( <cap> , 3 ) ) ) , not ( startwith ( <num> ) ) ) ) )
and ( repeatatleast ( or ( <num> , <let> ) , 1 ) , and ( not ( endwith ( <let> ) ) , and ( not ( contain ( repeat ( <let> , 2 ) ) ) , contain ( or ( <low> , <cap> ) ) ) ) )
and ( repeatatleast ( <cap> , 1 ) , and ( not ( startwith ( const0 ) ) , and ( endwith ( const1 ) , and ( not ( contain ( const2 ) ) , contain ( const3 ) ) ) ) )
and ( startwith ( concat ( <cap> , const0 ) ) , and ( not ( contain ( <spec> ) ) , endwith ( or ( repeat ( <low> , 3 ) , repeat ( <cap> , 3 ) ) ) ) )
and ( repeatatleast ( or ( <num> , or ( <cap> , or ( <spec> , <low> ) ) ) , 1 ) , and ( repeatrange ( <any> , 0 , 9 ) , and ( contain ( const0 ) , and ( not ( startwith ( <cap> ) ) , not ( contain ( repeat ( <low> , 3 ) ) ) ) ) ) )
concat ( repeatrange ( <let> , 2 , 4 ) , repeatatleast ( <low> , 2 ) )
concat ( repeatatleast ( or ( <let> , <num> ) , 1 ) , concat ( or ( const0 , const1 ) , repeat ( <let> , 3 ) ) )
concat ( repeatrange ( const0 , 1 , 3 ) , repeat ( <let> , 2 ) )
concat ( repeat ( <let> , 4 ) , repeatatleast ( <low> , 3 ) )
concat ( repeatrange ( <cap> , 2 , 3 ) , repeatrange ( <let> , 2 , 3 ) )
concat ( repeatrange ( <cap> , 3 , 4 ) , concat ( or ( const0 , const1 ) , concat ( repeatatleast ( <let> , 1 ) , repeat ( <cap> , 2 ) ) ) )
concat ( optional ( repeatatleast ( <num> , 1 ) ) , repeat ( <let> , 3 ) )
concat ( const0 , concat ( repeatrange ( <let> , 1 , 4 ) , concat ( repeatatleast ( <num> , 3 ) , concat ( repeatrange ( <let> , 1 , 4 ) , concat ( repeatatleast ( <num> , 3 ) , optional ( notcc ( <let> ) ) ) ) ) ) )
concat ( optional ( repeatatleast ( <cap> , 2 ) ) , or ( const0 , const1 ) )
concat ( repeatatleast ( const0 , 1 ) , or ( repeatatleast ( <cap> , 2 ) , repeatatleast ( <num> , 2 ) ) )
concat ( repeat ( <cap> , 3 ) , repeatatleast ( <low> , 1 ) )
concat ( repeat ( <num> , 2 ) , concat ( repeatrange ( <low> , 1 , 3 ) , optional ( repeatrange ( const0 , 2 , 4 ) ) ) )
concat ( optional ( concat ( repeatatleast ( <let> , 2 ) , concat ( const0 , repeatatleast ( or ( <let> , <num> ) , 2 ) ) ) ) , concat ( repeatrange ( <cap> , 3 , 4 ) , const1 ) )
concat ( repeat ( const0 , 3 ) , concat ( repeatatleast ( <cap> , 3 ) , optional ( <let> ) ) )
concat ( repeatrange ( or ( <let> , <num> ) , 2 , 4 ) , concat ( repeatrange ( <num> , 1 , 2 ) , concat ( repeatrange ( or ( <let> , <num> ) , 2 , 4 ) , repeatrange ( <num> , 1 , 2 ) ) ) )
concat ( repeatrange ( <low> , 3 , 4 ) , concat ( or ( const0 , const1 ) , concat ( repeat ( <num> , 3 ) , repeatrange ( const2 , 2 , 4 ) ) ) )
concat ( repeatrange ( <low> , 3 , 4 ) , concat ( or ( const0 , const1 ) , concat ( repeat ( <num> , 3 ) , repeatrange ( const2 , 2 , 4 ) ) ) )
concat ( repeatrange ( const0 , 1 , 2 ) , concat ( or ( const ( <inj> ) , const ( <ho> ) ) , concat ( <g> , concat ( repeatrange ( <let> , 1 , 4 ) , optional ( repeatrange ( <low> , 3 , 4 ) ) ) ) ) )
concat ( repeatrange ( <cap> , 1 , 2 ) , repeatatleast ( <low> , 2 ) )
concat ( repeatrange ( <num> , 3 , 4 ) , optional ( or ( repeatrange ( <num> , 1 , 3 ) , repeatrange ( <cap> , 1 , 3 ) ) ) )
concat ( repeatrange ( <let> , 2 , 4 ) , concat ( repeat ( <cap> , 3 ) , concat ( repeatrange ( <low> , 1 , 4 ) , repeatatleast ( const0 , 1 ) ) ) )
concat ( repeatrange ( <let> , 1 , 3 ) , optional ( or ( const0 , const1 ) ) )
concat ( optional ( concat ( repeatrange ( const0 , 1 , 4 ) , repeat ( <let> , 2 ) ) ) , repeatrange ( const0 , 1 , 4 ) )
concat ( repeat ( <k> , 2 ) , repeatatleast ( <let> , 1 ) )
concat ( repeatatleast ( const0 , 1 ) , repeatatleast ( <cap> , 2 ) )
concat ( repeatatleast ( <cap> , 1 ) , const0 )
concat ( repeatatleast ( <let> , 2 ) , repeat ( <num> , 4 ) )
repeatatleast ( or ( const0 , const1 ) , 1 )
concat ( or ( repeat ( <low> , 4 ) , repeat ( <cap> , 4 ) ) , concat ( repeat ( <low> , 4 ) , concat ( repeatatleast ( <cap> , 1 ) , <,> ) ) )
concat ( optional ( repeatatleast ( or ( <num> , <let> ) , 3 ) ) , repeat ( const0 , 3 ) )
concat ( optional ( repeatatleast ( or ( <num> , <let> ) , 3 ) ) , repeat ( const0 , 3 ) )
concat ( repeatrange ( const0 , 2 , 3 ) , concat ( optional ( or ( const1 , const2 ) ) , concat ( repeatrange ( <cap> , 3 , 4 ) , concat ( <low> , concat ( repeatrange ( <cap> , 1 , 4 ) , repeatrange ( const0 , 2 , 3 ) ) ) ) ) )
concat ( repeatrange ( <cap> , 2 , 4 ) , concat ( optional ( repeat ( const0 , 4 ) ) , concat ( repeatrange ( notcc ( <num> ) , 1 , 3 ) , repeat ( <low> , 4 ) ) ) )
concat ( repeat ( <cap> , 2 ) , concat ( or ( repeatrange ( <low> , 2 , 4 ) , repeatrange ( <cap> , 2 , 4 ) ) , concat ( repeatrange ( <low> , 2 , 3 ) , or ( repeatrange ( <low> , 2 , 4 ) , repeatrange ( <cap> , 2 , 4 ) ) ) ) )
concat ( or ( const0 , const1 ) , concat ( or ( const2 , const3 ) , concat ( repeatrange ( const4 , 1 , 4 ) , const5 ) ) )
concat ( optional ( concat ( repeatrange ( <num> , 2 , 4 ) , repeatatleast ( <let> , 3 ) ) ) , concat ( repeat ( <low> , 4 ) , concat ( repeat ( <num> , 3 ) , repeatatleast ( <let> , 1 ) ) ) )
concat ( repeatatleast ( <num> , 3 ) , concat ( repeatrange ( <let> , 1 , 4 ) , concat ( repeatatleast ( <num> , 3 ) , repeatrange ( <let> , 1 , 4 ) ) ) )
concat ( optional ( concat ( or ( const0 , const1 ) , repeatrange ( const2 , 2 , 4 ) ) ) , concat ( repeatatleast ( const3 , 1 ) , or ( const4 , const5 ) ) )
concat ( optional ( repeatrange ( <cap> , 1 , 4 ) ) , or ( const0 , const1 ) )
concat ( optional ( repeatatleast ( const0 , 3 ) ) , concat ( repeatrange ( <let> , 2 , 4 ) , concat ( repeatatleast ( const0 , 3 ) , repeatrange ( <let> , 2 , 4 ) ) ) )
concat ( repeat ( <let> , 4 ) , concat ( const0 , concat ( repeatatleast ( const1 , 2 ) , concat ( or ( const2 , const3 ) , concat ( const4 , repeat ( <cap> , 4 ) ) ) ) ) )
concat ( repeat ( <let> , 4 ) , concat ( const0 , concat ( repeatatleast ( const1 , 2 ) , concat ( or ( const2 , const3 ) , concat ( const4 , repeat ( <cap> , 4 ) ) ) ) ) )
concat ( repeatrange ( const0 , 3 , 4 ) , concat ( repeatrange ( <cap> , 1 , 2 ) , concat ( optional ( repeatrange ( const0 , 3 , 4 ) ) , repeat ( <cap> , 3 ) ) ) )
concat ( repeatatleast ( const0 , 3 ) , repeatatleast ( <low> , 3 ) )
concat ( or ( const0 , const1 ) , concat ( repeatatleast ( <let> , 3 ) , concat ( repeatrange ( <low> , 1 , 4 ) , concat ( repeat ( <let> , 4 ) , concat ( <num> , repeat ( <cap> , 2 ) ) ) ) ) )
concat ( optional ( concat ( repeatrange ( const0 , 2 , 3 ) , notcc ( <num> ) ) ) , repeatrange ( const0 , 2 , 3 ) )
concat ( repeatatleast ( or ( <cap> , <low> ) , 1 ) , concat ( <;> , concat ( repeatatleast ( or ( <cap> , <low> ) , 1 ) , concat ( <;> , repeatatleast ( or ( <num> , <cap> ) , 1 ) ) ) ) )
concat ( concat ( const0 , concat ( <let> , repeatatleast ( <low> , 3 ) ) ) , star ( concat ( <;> , concat ( const0 , concat ( <let> , repeatatleast ( <low> , 3 ) ) ) ) ) )
concat ( concat ( const0 , concat ( <let> , repeatatleast ( <low> , 3 ) ) ) , star ( concat ( <;> , concat ( const0 , concat ( <let> , repeatatleast ( <low> , 3 ) ) ) ) ) )
concat ( and ( repeatatleast ( or ( <let> , <num> ) , 1 ) , repeatatleast ( <any> , 2 ) ) , concat ( <.> , concat ( repeatrange ( <cap> , 2 , 4 ) , concat ( <.> , const0 ) ) ) )
concat ( and ( repeatatleast ( or ( <cap> , <low> ) , 1 ) , endwith ( or ( const0 , const1 ) ) ) , star ( concat ( <;> , and ( repeatatleast ( or ( <cap> , <low> ) , 1 ) , endwith ( or ( const0 , const1 ) ) ) ) ) )
concat ( and ( repeatatleast ( or ( <let> , <num> ) , 1 ) , and ( not ( endwith ( <num> ) ) , not ( startwith ( repeat ( <let> , 3 ) ) ) ) ) , concat ( <,> , concat ( and ( repeatatleast ( or ( <let> , <num> ) , 1 ) , and ( not ( endwith ( <num> ) ) , not ( startwith ( repeat ( <let> , 3 ) ) ) ) ) , concat ( <,> , concat ( repeat ( <low> , 2 ) , repeatrange ( <let> , 3 , 4 ) ) ) ) ) )
concat ( repeatrange ( <cap> , 1 , 4 ) , star ( concat ( <.> , repeatrange ( <cap> , 1 , 4 ) ) ) )
concat ( and ( repeatatleast ( or ( <cap> , or ( <low> , <num> ) ) , 1 ) , and ( not ( endwith ( <low> ) ) , not ( startwith ( <num> ) ) ) ) , concat ( <.> , concat ( repeatatleast ( or ( <cap> , or ( <low> , <num> ) ) , 1 ) , concat ( <.> , repeatatleast ( or ( <cap> , or ( <low> , <num> ) ) , 1 ) ) ) ) )
concat ( concat ( const0 , repeat ( <num> , 4 ) ) , concat ( <,> , concat ( concat ( repeat ( <low> , 3 ) , optional ( repeatrange ( <cap> , 1 , 4 ) ) ) , concat ( <,> , concat ( repeat ( <low> , 3 ) , optional ( repeatrange ( <cap> , 1 , 4 ) ) ) ) ) ) )
concat ( concat ( repeatrange ( <cap> , 2 , 3 ) , repeat ( <num> , 4 ) ) , concat ( <;> , concat ( concat ( repeatatleast ( <low> , 2 ) , concat ( optional ( repeatrange ( <let> , 3 , 4 ) ) , const0 ) ) , concat ( <;> , concat ( repeatatleast ( <low> , 2 ) , concat ( optional ( repeatrange ( <let> , 3 , 4 ) ) , const0 ) ) ) ) ) )
concat ( repeatatleast ( or ( <num> , <low> ) , 1 ) , concat ( <.> , concat ( and ( repeatatleast ( or ( <num> , <low> ) , 1 ) , contain ( repeat ( <num> , 3 ) ) ) , concat ( <.> , repeatatleast ( or ( <num> , <low> ) , 1 ) ) ) ) )
concat ( and ( repeatatleast ( or ( <low> , <cap> ) , 1 ) , and ( repeatrange ( <any> , 0 , 4 ) , startwith ( <low> ) ) ) , star ( concat ( <;> , and ( repeatatleast ( or ( <low> , <cap> ) , 1 ) , and ( repeatrange ( <any> , 0 , 4 ) , startwith ( <low> ) ) ) ) ) )
concat ( and ( repeatatleast ( or ( <low> , <cap> ) , 1 ) , and ( repeatrange ( <any> , 0 , 4 ) , startwith ( <low> ) ) ) , star ( concat ( <;> , and ( repeatatleast ( or ( <low> , <cap> ) , 1 ) , and ( repeatrange ( <any> , 0 , 4 ) , startwith ( <low> ) ) ) ) ) )
concat ( and ( repeatatleast ( <cap> , 1 ) , not ( startwith ( const0 ) ) ) , concat ( <;> , concat ( and ( repeatatleast ( <cap> , 1 ) , not ( startwith ( const0 ) ) ) , concat ( <;> , and ( repeatatleast ( <cap> , 1 ) , not ( startwith ( const0 ) ) ) ) ) ) )
concat ( concat ( <let> , repeatrange ( <cap> , 3 , 4 ) ) , concat ( <;> , concat ( and ( repeatatleast ( <cap> , 1 ) , and ( not ( endwith ( const0 ) ) , not ( endwith ( const1 ) ) ) ) , concat ( <;> , and ( repeatatleast ( <cap> , 1 ) , and ( not ( endwith ( const0 ) ) , not ( endwith ( const1 ) ) ) ) ) ) ) )
concat ( repeatatleast ( <num> , 1 ) , concat ( <,> , concat ( repeatatleast ( or ( <let> , <num> ) , 1 ) , concat ( <,> , and ( repeatatleast ( or ( <num> , <let> ) , 1 ) , repeatrange ( <any> , 1 , 4 ) ) ) ) ) )
concat ( repeatatleast ( <low> , 3 ) , concat ( <;> , concat ( repeatatleast ( <low> , 3 ) , concat ( <;> , and ( repeatatleast ( <num> , 1 ) , repeat ( <any> , 3 ) ) ) ) ) )
concat ( and ( repeatatleast ( <num> , 1 ) , not ( endwith ( const0 ) ) ) , concat ( <;> , concat ( and ( repeatatleast ( or ( <num> , <let> ) , 1 ) , repeat ( <any> , 4 ) ) , concat ( <;> , <low> ) ) ) )
concat ( concat ( optional ( repeatatleast ( <num> , 3 ) ) , repeatatleast ( <cap> , 3 ) ) , concat ( <;> , concat ( concat ( optional ( repeatatleast ( <num> , 3 ) ) , repeatatleast ( <cap> , 3 ) ) , concat ( <;> , and ( repeatatleast ( or ( const0 , or ( const1 , const2 ) ) , 1 ) , repeatatleast ( <any> , 2 ) ) ) ) ) )
concat ( and ( repeatatleast ( or ( <let> , <num> ) , 1 ) , and ( repeatrange ( <any> , 2 , 5 ) , not ( startwith ( <let> ) ) ) ) , concat ( <-> , concat ( and ( repeatatleast ( or ( <let> , <num> ) , 1 ) , and ( repeatrange ( <any> , 2 , 5 ) , not ( startwith ( <let> ) ) ) ) , concat ( <-> , and ( repeatatleast ( or ( <let> , <num> ) , 1 ) , and ( repeatrange ( <any> , 2 , 5 ) , not ( startwith ( <let> ) ) ) ) ) ) ) )
concat ( repeatatleast ( or ( <num> , const1 ) , 1 ) , concat ( const0 , concat ( repeatrange ( <let> , 2 , 3 ) , concat ( const0 , concat ( repeat ( <cap> , 4 ) , repeatrange ( const2 , 1 , 2 ) ) ) ) ) )
concat ( repeatatleast ( <num> , 1 ) , concat ( const0 , concat ( and ( repeatatleast ( or ( <low> , or ( <num> , const1 ) ) , 1 ) , repeat ( <any> , 4 ) ) , concat ( const0 , repeat ( <num> , 4 ) ) ) ) )
concat ( repeatatleast ( or ( <num> , <let> ) , 1 ) , star ( concat ( <;> , repeatatleast ( or ( <num> , <let> ) , 1 ) ) ) )
concat ( concat ( repeatatleast ( <cap> , 3 ) , repeat ( const0 , 4 ) ) , concat ( <-> , concat ( repeatrange ( <let> , 1 , 2 ) , concat ( <-> , repeatatleast ( <num> , 1 ) ) ) ) )
concat ( repeatatleast ( <let> , 1 ) , concat ( <;> , concat ( and ( repeatatleast ( <let> , 1 ) , and ( startwith ( const0 ) , endwith ( const1 ) ) ) , concat ( <;> , and ( repeatatleast ( <let> , 1 ) , and ( startwith ( const0 ) , endwith ( const1 ) ) ) ) ) ) )
concat ( and ( repeatatleast ( or ( <low> , <cap> ) , 1 ) , repeatrange ( <any> , 0 , 4 ) ) , concat ( <.> , concat ( concat ( optional ( repeatatleast ( <low> , 2 ) ) , repeat ( <num> , 4 ) ) , concat ( <.> , concat ( optional ( repeatatleast ( <low> , 2 ) ) , repeat ( <num> , 4 ) ) ) ) ) )
concat ( repeatatleast ( or ( <cap> , <low> ) , 1 ) , concat ( <.> , concat ( repeatatleast ( <let> , 1 ) , concat ( <.> , repeatrange ( <let> , 3 , 4 ) ) ) ) )
concat ( and ( repeatatleast ( <low> , 1 ) , repeatatleast ( <any> , 4 ) ) , concat ( <-> , concat ( and ( repeatatleast ( <low> , 1 ) , repeatatleast ( <any> , 4 ) ) , concat ( <-> , and ( repeatatleast ( or ( <num> , <cap> ) , 1 ) , contain ( <num> ) ) ) ) ) )
concat ( and ( repeatatleast ( <num> , 1 ) , and ( endwith ( const0 ) , startwith ( const1 ) ) ) , concat ( <.> , concat ( and ( repeatatleast ( <num> , 1 ) , startwith ( const1 ) ) , concat ( <.> , and ( repeatatleast ( <num> , 1 ) , and ( endwith ( const0 ) , startwith ( const1 ) ) ) ) ) ) )
concat ( repeatrange ( <let> , 2 , 3 ) , star ( concat ( <-> , repeatrange ( <let> , 2 , 3 ) ) ) )
concat ( and ( repeatatleast ( <num> , 1 ) , not ( contain ( const0 ) ) ) , concat ( <.> , concat ( and ( repeatatleast ( <num> , 1 ) , not ( contain ( const0 ) ) ) , concat ( <.> , and ( repeatatleast ( <num> , 1 ) , not ( contain ( const0 ) ) ) ) ) ) )
concat ( concat ( repeatrange ( <let> , 1 , 3 ) , repeat ( or ( <num> , <low> ) , 4 ) ) , concat ( <-> , concat ( concat ( repeatrange ( <let> , 1 , 3 ) , repeat ( or ( <num> , <low> ) , 4 ) ) , concat ( <-> , concat ( repeatrange ( <let> , 1 , 3 ) , repeat ( or ( <num> , <low> ) , 4 ) ) ) ) ) )
concat ( and ( repeatatleast ( or ( <num> , const0 ) , 1 ) , repeatatleast ( <any> , 2 ) ) , star ( concat ( <-> , and ( repeatatleast ( or ( <num> , const0 ) , 1 ) , repeatatleast ( <any> , 2 ) ) ) ) )
concat ( and ( repeatatleast ( or ( <num> , const0 ) , 1 ) , repeatatleast ( <any> , 2 ) ) , star ( concat ( <-> , and ( repeatatleast ( or ( <num> , const0 ) , 1 ) , repeatatleast ( <any> , 2 ) ) ) ) )
concat ( repeatatleast ( <num> , 3 ) , concat ( <-> , concat ( repeatatleast ( <num> , 3 ) , concat ( <-> , repeat ( const0 , 3 ) ) ) ) )
concat ( repeatatleast ( <num> , 3 ) , concat ( <-> , concat ( repeatatleast ( <num> , 3 ) , concat ( <-> , repeat ( <b> , 3 ) ) ) ) )
concat ( and ( repeatatleast ( or ( <let> , <num> ) , 1 ) , and ( startwith ( repeat ( <num> , 2 ) ) , not ( contain ( const0 ) ) ) ) , concat ( <-> , concat ( and ( repeatatleast ( or ( <let> , <num> ) , 1 ) , and ( startwith ( repeat ( <num> , 2 ) ) , not ( contain ( const0 ) ) ) ) , concat ( <-> , and ( repeatatleast ( or ( <let> , <num> ) , 1 ) , and ( startwith ( repeat ( <num> , 2 ) ) , not ( contain ( const0 ) ) ) ) ) ) ) )
concat ( concat ( or ( const0 , const1 ) , optional ( repeatrange ( <low> , 3 , 4 ) ) ) , star ( concat ( <;> , concat ( or ( const0 , const1 ) , optional ( repeatrange ( <low> , 3 , 4 ) ) ) ) ) )
concat ( concat ( repeat ( <low> , 2 ) , repeatrange ( const0 , 3 , 4 ) ) , star ( concat ( <;> , concat ( repeat ( <low> , 2 ) , repeatrange ( const0 , 3 , 4 ) ) ) ) )
concat ( concat ( repeat ( <low> , 2 ) , repeatrange ( <6> , 3 , 4 ) ) , star ( concat ( <;> , concat ( repeat ( <low> , 2 ) , repeatrange ( <6> , 3 , 4 ) ) ) ) )
concat ( and ( repeatatleast ( or ( <low> , <cap> ) , 1 ) , and ( repeatrange ( <any> , 0 , 3 ) , not ( contain ( repeat ( <low> , 3 ) ) ) ) ) , concat ( <-> , concat ( and ( repeatatleast ( or ( <low> , <cap> ) , 1 ) , and ( repeatrange ( <any> , 0 , 3 ) , not ( contain ( repeat ( <low> , 3 ) ) ) ) ) , concat ( <-> , and ( repeatatleast ( or ( <let> , <num> ) , 1 ) , not ( startwith ( repeat ( <let> , 2 ) ) ) ) ) ) ) )
concat ( and ( repeatatleast ( <num> , 1 ) , repeatrange ( <any> , 0 , 3 ) ) , star ( concat ( <,> , and ( repeatatleast ( <num> , 1 ) , repeatrange ( <any> , 0 , 3 ) ) ) ) )
concat ( repeatatleast ( or ( <let> , <num> ) , 1 ) , star ( concat ( <.> , repeatatleast ( or ( <let> , <num> ) , 1 ) ) ) )
concat ( repeatatleast ( <let> , 3 ) , concat ( <,> , concat ( repeat ( <low> , 2 ) , concat ( <,> , or ( const0 , const1 ) ) ) ) )
concat ( repeatatleast ( or ( <let> , <num> ) , 1 ) , concat ( <,> , concat ( and ( repeatatleast ( or ( <let> , <num> ) , 1 ) , and ( not ( contain ( repeat ( <let> , 3 ) ) ) , not ( endwith ( <num> ) ) ) ) , concat ( <,> , repeatatleast ( or ( <let> , <num> ) , 1 ) ) ) ) )
concat ( repeatrange ( <low> , 2 , 4 ) , concat ( <.> , concat ( repeat ( <cap> , 4 ) , concat ( <.> , and ( repeatatleast ( or ( <num> , or ( <cap> , <low> ) ) , 1 ) , repeatrange ( <any> , 3 , 5 ) ) ) ) ) )
concat ( and ( repeatatleast ( or ( <num> , or ( <low> , <cap> ) ) , 1 ) , not ( contain ( const0 ) ) ) , star ( concat ( <-> , and ( repeatatleast ( or ( <num> , or ( <low> , <cap> ) ) , 1 ) , not ( contain ( const0 ) ) ) ) ) )
concat ( concat ( or ( const0 , const1 ) , optional ( <cap> ) ) , concat ( <,> , concat ( concat ( or ( const0 , const1 ) , optional ( <cap> ) ) , concat ( <,> , concat ( or ( const0 , const1 ) , optional ( <cap> ) ) ) ) ) )
concat ( and ( repeatatleast ( or ( <cap> , or ( <num> , <low> ) ) , 1 ) , repeatrange ( <any> , 2 , 3 ) ) , concat ( <-> , concat ( repeatrange ( <I> , 2 , 4 ) , concat ( <-> , concat ( repeatatleast ( <let> , 3 ) , repeatrange ( <cap> , 2 , 3 ) ) ) ) ) )
concat ( and ( repeatatleast ( or ( <cap> , or ( <num> , <low> ) ) , 1 ) , repeatrange ( <any> , 2 , 3 ) ) , concat ( <-> , concat ( repeatrange ( const0 , 2 , 4 ) , concat ( <-> , concat ( repeatatleast ( <let> , 3 ) , repeatrange ( <cap> , 2 , 3 ) ) ) ) ) )
concat ( repeatatleast ( or ( <let> , <num> ) , 1 ) , concat ( <-> , concat ( repeatatleast ( or ( <let> , <num> ) , 1 ) , concat ( <-> , repeatatleast ( or ( <let> , <num> ) , 1 ) ) ) ) )
concat ( repeatatleast ( or ( <let> , <num> ) , 1 ) , concat ( <-> , concat ( repeatatleast ( or ( <let> , <num> ) , 1 ) , concat ( <-> , repeatatleast ( or ( <let> , <num> ) , 1 ) ) ) ) )
concat ( and ( repeatatleast ( or ( <low> , <num> ) , 1 ) , and ( repeatrange ( <any> , 0 , 4 ) , endwith ( or ( repeat ( <num> , 3 ) , repeat ( <low> , 3 ) ) ) ) ) , concat ( <,> , concat ( repeatatleast ( or ( <low> , <num> ) , 1 ) , concat ( <,> , repeatatleast ( or ( <low> , <num> ) , 1 ) ) ) ) )
concat ( repeatatleast ( or ( <low> , or ( <cap> , <num> ) ) , 1 ) , concat ( <,> , concat ( repeatatleast ( or ( <low> , or ( <cap> , <num> ) ) , 1 ) , concat ( <,> , repeatatleast ( or ( <low> , or ( <cap> , <num> ) ) , 1 ) ) ) ) )
concat ( and ( repeatatleast ( <num> , 1 ) , and ( endwith ( const0 ) , not ( startwith ( const1 ) ) ) ) , concat ( <-> , concat ( and ( repeatatleast ( <num> , 1 ) , endwith ( const0 ) ) , concat ( <-> , and ( repeatatleast ( <num> , 1 ) , endwith ( const0 ) ) ) ) ) )
concat ( and ( repeatatleast ( or ( <cap> , const0 ) , 1 ) , repeatatleast ( <any> , 4 ) ) , star ( concat ( <-> , and ( repeatatleast ( or ( <cap> , const0 ) , 1 ) , repeatatleast ( <any> , 4 ) ) ) ) )
concat ( concat ( repeat ( <num> , 2 ) , optional ( repeat ( <cap> , 2 ) ) ) , star ( concat ( <,> , concat ( repeat ( <num> , 2 ) , optional ( repeat ( <cap> , 2 ) ) ) ) ) )
concat ( or ( const1 , const2 ) , concat ( const0 , concat ( and ( repeatatleast ( <num> , 1 ) , endwith ( const3 ) ) , concat ( const0 , repeatrange ( <let> , 3 , 4 ) ) ) ) )
concat ( repeatatleast ( or ( <cap> , <num> ) , 1 ) , concat ( <-> , concat ( concat ( repeatrange ( <low> , 2 , 4 ) , optional ( or ( const0 , const1 ) ) ) , concat ( <-> , and ( repeatatleast ( or ( <cap> , or ( <num> , <low> ) ) , 1 ) , repeatatleast ( <any> , 4 ) ) ) ) ) )
concat ( and ( repeatatleast ( or ( <low> , or ( <cap> , <num> ) ) , 1 ) , repeat ( <any> , 3 ) ) , star ( concat ( <;> , and ( repeatatleast ( or ( <low> , or ( <cap> , <num> ) ) , 1 ) , repeat ( <any> , 3 ) ) ) ) )
concat ( and ( repeatatleast ( or ( <num> , const0 ) , 1 ) , repeatatleast ( <any> , 3 ) ) , concat ( <.> , concat ( and ( repeatatleast ( or ( <num> , or ( <cap> , <low> ) ) , 1 ) , repeatrange ( <any> , 0 , 5 ) ) , concat ( <.> , concat ( repeatrange ( <let> , 3 , 4 ) , repeat ( <low> , 4 ) ) ) ) ) )
concat ( concat ( or ( const0 , <I> ) , repeatatleast ( <let> , 2 ) ) , concat ( <,> , concat ( and ( repeatatleast ( or ( <num> , <cap> ) , 1 ) , and ( repeatrange ( <any> , 0 , 5 ) , contain ( <num> ) ) ) , concat ( <,> , and ( repeatatleast ( or ( <num> , <cap> ) , 1 ) , and ( repeatrange ( <any> , 0 , 5 ) , contain ( <num> ) ) ) ) ) ) )
concat ( concat ( or ( const0 , <I> ) , repeatatleast ( <let> , 2 ) ) , concat ( <,> , concat ( and ( repeatatleast ( or ( <num> , <cap> ) , 1 ) , and ( repeatrange ( <any> , 0 , 5 ) , contain ( <num> ) ) ) , concat ( <,> , and ( repeatatleast ( or ( <num> , <cap> ) , 1 ) , and ( repeatrange ( <any> , 0 , 5 ) , contain ( <num> ) ) ) ) ) ) )
concat ( repeatatleast ( or ( <low> , or ( <cap> , <num> ) ) , 1 ) , concat ( <,> , concat ( repeatatleast ( or ( <low> , or ( <cap> , <num> ) ) , 1 ) , concat ( <,> , repeatrange ( <let> , 2 , 4 ) ) ) ) )
concat ( or ( repeatrange ( <cap> , 2 , 3 ) , repeatrange ( <low> , 2 , 3 ) ) , star ( concat ( <;> , or ( repeatrange ( <cap> , 2 , 3 ) , repeatrange ( <low> , 2 , 3 ) ) ) ) )
concat ( and ( repeatatleast ( <num> , 1 ) , repeatatleast ( <any> , 3 ) ) , concat ( <,> , concat ( const0 , concat ( <,> , repeatatleast ( <low> , 1 ) ) ) ) )
concat ( repeat ( <low> , 3 ) , concat ( const0 , concat ( concat ( <num> , repeatrange ( <low> , 2 , 4 ) ) , concat ( const0 , repeatatleast ( or ( <low> , <cap> ) , 1 ) ) ) ) )
concat ( repeatatleast ( <low> , 2 ) , concat ( <.> , concat ( or ( repeatatleast ( <let> , 2 ) , repeatatleast ( <num> , 2 ) ) , concat ( <.> , or ( const0 , const1 ) ) ) ) )
concat ( or ( const0 , const1 ) , star ( concat ( <,> , or ( const0 , const1 ) ) ) )
concat ( repeatrange ( <low> , 2 , 4 ) , concat ( <,> , concat ( concat ( repeatrange ( const0 , 2 , 4 ) , concat ( repeatatleast ( <let> , 2 ) , const1 ) ) , concat ( <,> , concat ( repeatrange ( const0 , 2 , 4 ) , concat ( repeatatleast ( <let> , 2 ) , const1 ) ) ) ) ) )
concat ( concat ( optional ( repeat ( <cap> , 2 ) ) , repeat ( <let> , 3 ) ) , concat ( <;> , concat ( repeatatleast ( const0 , 3 ) , concat ( <;> , repeatatleast ( const0 , 3 ) ) ) ) )
concat ( or ( const0 , const1 ) , concat ( <-> , concat ( concat ( repeat ( <let> , 4 ) , concat ( or ( const2 , const3 ) , optional ( repeat ( <let> , 3 ) ) ) ) , concat ( <-> , concat ( repeat ( <let> , 4 ) , concat ( or ( const2 , const3 ) , optional ( repeat ( <let> , 3 ) ) ) ) ) ) ) )
and ( repeatatleast ( or ( <num> , or ( <cap> , or ( <low> , const0 ) ) ) , 1 ) , and ( repeatrange ( <any> , 0 , 8 ) , contain ( const1 ) ) )
and ( repeatatleast ( or ( <low> , or ( <spec> , or ( <cap> , const0 ) ) ) , 1 ) , repeatatleast ( <any> , 4 ) )
startwith ( <spec> )
and ( repeatatleast ( or ( <low> , or ( <num> , or ( <spec> , <cap> ) ) ) , 1 ) , and ( contain ( const0 ) , and ( endwith ( or ( <spec> , <num> ) ) , startwith ( <spec> ) ) ) )
and ( repeatrange ( <any> , 0 , 10 ) , and ( not ( startwith ( <num> ) ) , not ( startwith ( repeat ( const0 , 3 ) ) ) ) )
and ( not ( startwith ( repeat ( <low> , 3 ) ) ) , and ( not ( endwith ( <low> ) ) , and ( contain ( <spec> ) , contain ( <let> ) ) ) )
and ( not ( startwith ( const0 ) ) , and ( not ( endwith ( <cap> ) ) , and ( contain ( or ( repeat ( const1 , 3 ) , repeat ( const2 , 3 ) ) ) , and ( not ( startwith ( const3 ) ) , contain ( or ( repeat ( const4 , 3 ) , repeat ( const5 , 3 ) ) ) ) ) ) )
not ( contain ( repeat ( <cap> , 2 ) ) )
and ( repeatatleast ( or ( <spec> , <let> ) , 1 ) , and ( endwith ( or ( <low> , <cap> ) ) , and ( not ( startwith ( <let> ) ) , and ( not ( endwith ( <spec> ) ) , not ( contain ( concat ( <spec> , notcc ( <let> ) ) ) ) ) ) ) )
and ( repeatatleast ( or ( <low> , or ( <spec> , or ( <cap> , <num> ) ) ) , 1 ) , not ( contain ( const0 ) ) )
and ( repeatatleast ( or ( <num> , const0 ) , 1 ) , and ( repeatrange ( <any> , 4 , 10 ) , and ( not ( startwith ( <num> ) ) , not ( contain ( const1 ) ) ) ) )
and ( repeatatleast ( or ( <cap> , or ( <spec> , const0 ) ) , 1 ) , and ( and ( not ( endwith ( <spec> ) ) , not ( contain ( concat ( <spec> , notcc ( <cap> ) ) ) ) ) , and ( startwith ( or ( repeat ( <spec> , 3 ) , repeat ( <cap> , 3 ) ) ) , contain ( const1 ) ) ) )
endwith ( <spec> )
and ( repeatatleast ( or ( <let> , or ( <spec> , <num> ) ) , 1 ) , and ( not ( contain ( const0 ) ) , and ( startwith ( <num> ) , and ( not ( endwith ( <let> ) ) , not ( contain ( const1 ) ) ) ) ) )
and ( contain ( const0 ) , and ( contain ( <num> ) , not ( contain ( repeat ( const1 , 2 ) ) ) ) )
and ( not ( endwith ( <cap> ) ) , and ( startwith ( <num> ) , and ( not ( endwith ( <spec> ) ) , and ( not ( endwith ( <spec> ) ) , not ( contain ( concat ( <spec> , notcc ( <let> ) ) ) ) ) ) ) )
and ( repeatatleast ( <cap> , 1 ) , and ( not ( startwith ( const0 ) ) , and ( not ( endwith ( const1 ) ) , and ( not ( endwith ( const2 ) ) , not ( contain ( const3 ) ) ) ) ) )
and ( repeatatleast ( <cap> , 1 ) , and ( not ( startwith ( const0 ) ) , and ( not ( endwith ( const1 ) ) , and ( not ( endwith ( const2 ) ) , not ( contain ( const3 ) ) ) ) ) )
and ( and ( endwith ( repeat ( <num> , 2 ) ) , not ( endwith ( repeat ( <8> , 2 ) ) ) ) , contain ( concat ( repeat ( <low> , 2 ) , <num> ) ) )
and ( repeatatleast ( or ( <num> , or ( <low> , <cap> ) ) , 1 ) , and ( repeatrange ( <any> , 0 , 8 ) , and ( not ( contain ( const0 ) ) , and ( contain ( <num> ) , contain ( or ( const1 , const2 ) ) ) ) ) )
and ( repeatrange ( <any> , 0 , 10 ) , and ( not ( endwith ( <spec> ) ) , not ( contain ( <num> ) ) ) )
and ( repeatatleast ( <num> , 1 ) , and ( not ( contain ( const0 ) ) , endwith ( const1 ) ) )
and ( repeatatleast ( <any> , 4 ) , and ( startwith ( const0 ) , and ( not ( contain ( const1 ) ) , endwith ( const2 ) ) ) )
and ( repeatatleast ( <any> , 5 ) , and ( contain ( <low> ) , not ( startwith ( <let> ) ) ) )
repeatatleast ( or ( <let> , or ( <num> , const0 ) ) , 1 )
repeatatleast ( or ( <let> , <num> ) , 1 )
not ( contain ( repeat ( <let> , 3 ) ) )
and ( not ( startwith ( <spec> ) ) , not ( contain ( <low> ) ) )
and ( not ( contain ( concat ( <num> , <spec> ) ) ) , and ( and ( startwith ( <num> ) , not ( startwith ( const0 ) ) ) , and ( contain ( <let> ) , contain ( <spec> ) ) ) )
and ( repeatatleast ( <cap> , 1 ) , and ( not ( contain ( const0 ) ) , not ( contain ( const1 ) ) ) )
and ( repeatatleast ( or ( <cap> , <_> ) , 1 ) , not ( startwith ( <cap> ) ) )
and ( repeatatleast ( or ( <spec> , <let> ) , 1 ) , and ( startwith ( <let> ) , endwith ( or ( const0 , const1 ) ) ) )
and ( not ( contain ( concat ( <spec> , repeat ( <low> , 2 ) ) ) ) , and ( contain ( const0 ) , and ( not ( startwith ( <cap> ) ) , not ( contain ( concat ( notcc ( <num> ) , <cap> ) ) ) ) ) )
and ( not ( startwith ( <let> ) ) , and ( not ( contain ( repeat ( <spec> , 3 ) ) ) , and ( endwith ( <cap> ) , and ( contain ( or ( repeat ( const0 , 2 ) , repeat ( const1 , 2 ) ) ) , contain ( or ( const2 , const3 ) ) ) ) ) )
and ( repeatatleast ( or ( <cap> , or ( <num> , or ( <spec> , const0 ) ) ) , 1 ) , and ( repeatrange ( <any> , 0 , 9 ) , not ( startwith ( repeat ( <cap> , 2 ) ) ) ) )
and ( repeatatleast ( or ( <spec> , or ( <cap> , or ( <low> , <num> ) ) ) , 1 ) , and ( repeatrange ( <any> , 0 , 8 ) , contain ( <low> ) ) )
and ( repeatrange ( <any> , 6 , 8 ) , contain ( <let> ) )
and ( repeatrange ( <any> , 6 , 8 ) , contain ( <let> ) )
and ( repeatatleast ( or ( <spec> , <cap> ) , 1 ) , and ( not ( contain ( const0 ) ) , contain ( repeat ( <cap> , 2 ) ) ) )
startwith ( <num> )
not ( contain ( concat ( repeat ( <spec> , 3 ) , <cap> ) ) )
and ( repeatrange ( <any> , 0 , 8 ) , and ( startwith ( <low> ) , and ( not ( contain ( <cap> ) ) , and ( endwith ( <num> ) , not ( endwith ( const0 ) ) ) ) ) )
and ( repeatrange ( <any> , 0 , 8 ) , and ( startwith ( <low> ) , and ( not ( contain ( <cap> ) ) , and ( endwith ( <num> ) , not ( endwith ( const0 ) ) ) ) ) )
and ( repeatatleast ( <num> , 1 ) , and ( endwith ( const0 ) , and ( not ( contain ( const1 ) ) , and ( contain ( const2 ) , not ( contain ( const3 ) ) ) ) ) )
and ( repeatatleast ( <num> , 1 ) , and ( endwith ( const0 ) , and ( not ( contain ( const1 ) ) , and ( contain ( const2 ) , not ( contain ( const3 ) ) ) ) ) )
and ( repeatatleast ( or ( <low> , <spec> ) , 1 ) , and ( contain ( const0 ) , and ( not ( contain ( const1 ) ) , not ( endwith ( repeat ( <spec> , 3 ) ) ) ) ) )
and ( repeatatleast ( or ( <let> , <spec> ) , 1 ) , and ( repeatrange ( <any> , 0 , 9 ) , and ( startwith ( <low> ) , not ( startwith ( const0 ) ) ) ) )
and ( repeatatleast ( <cap> , 1 ) , and ( not ( endwith ( const0 ) ) , and ( not ( contain ( const1 ) ) , and ( contain ( or ( const2 , const3 ) ) , contain ( const4 ) ) ) ) )
and ( repeatatleast ( or ( <num> , or ( <spec> , or ( <cap> , <low> ) ) ) , 1 ) , and ( contain ( const0 ) , and ( not ( endwith ( <low> ) ) , contain ( repeat ( <cap> , 3 ) ) ) ) )
and ( repeatatleast ( or ( <num> , or ( <spec> , or ( <cap> , <low> ) ) ) , 1 ) , and ( contain ( const0 ) , and ( not ( endwith ( <low> ) ) , contain ( repeat ( <cap> , 3 ) ) ) ) )
and ( repeatatleast ( <any> , 4 ) , and ( not ( startwith ( const0 ) ) , and ( endwith ( repeat ( <cap> , 3 ) ) , and ( contain ( <low> ) , not ( contain ( <w> ) ) ) ) ) )