- : unit = () - : unit = () h : heuristic = - : unit = () APPLY CRITERIA (Marked dependency pairs) TRS termination of: [1] active(zeros) -> mark(cons(0,zeros)) [2] active(U101(tt,V1,V2)) -> mark(U102(isNatKind(V1),V1,V2)) [3] active(U102(tt,V1,V2)) -> mark(U103(isNatIListKind(V2),V1,V2)) [4] active(U103(tt,V1,V2)) -> mark(U104(isNatIListKind(V2),V1,V2)) [5] active(U104(tt,V1,V2)) -> mark(U105(isNat(V1),V2)) [6] active(U105(tt,V2)) -> mark(U106(isNatIList(V2))) [7] active(U106(tt)) -> mark(tt) [8] active(U11(tt,V1)) -> mark(U12(isNatIListKind(V1),V1)) [9] active(U111(tt,L,N)) -> mark(U112(isNatIListKind(L),L,N)) [10] active(U112(tt,L,N)) -> mark(U113(isNat(N),L,N)) [11] active(U113(tt,L,N)) -> mark(U114(isNatKind(N),L)) [12] active(U114(tt,L)) -> mark(s(length(L))) [13] active(U12(tt,V1)) -> mark(U13(isNatList(V1))) [14] active(U121(tt,IL)) -> mark(U122(isNatIListKind(IL))) [15] active(U122(tt)) -> mark(nil) [16] active(U13(tt)) -> mark(tt) [17] active(U131(tt,IL,M,N)) -> mark(U132(isNatIListKind(IL),IL,M,N)) [18] active(U132(tt,IL,M,N)) -> mark(U133(isNat(M),IL,M,N)) [19] active(U133(tt,IL,M,N)) -> mark(U134(isNatKind(M),IL,M,N)) [20] active(U134(tt,IL,M,N)) -> mark(U135(isNat(N),IL,M,N)) [21] active(U135(tt,IL,M,N)) -> mark(U136(isNatKind(N),IL,M,N)) [22] active(U136(tt,IL,M,N)) -> mark(cons(N,take(M,IL))) [23] active(U21(tt,V1)) -> mark(U22(isNatKind(V1),V1)) [24] active(U22(tt,V1)) -> mark(U23(isNat(V1))) [25] active(U23(tt)) -> mark(tt) [26] active(U31(tt,V)) -> mark(U32(isNatIListKind(V),V)) [27] active(U32(tt,V)) -> mark(U33(isNatList(V))) [28] active(U33(tt)) -> mark(tt) [29] active(U41(tt,V1,V2)) -> mark(U42(isNatKind(V1),V1,V2)) [30] active(U42(tt,V1,V2)) -> mark(U43(isNatIListKind(V2),V1,V2)) [31] active(U43(tt,V1,V2)) -> mark(U44(isNatIListKind(V2),V1,V2)) [32] active(U44(tt,V1,V2)) -> mark(U45(isNat(V1),V2)) [33] active(U45(tt,V2)) -> mark(U46(isNatIList(V2))) [34] active(U46(tt)) -> mark(tt) [35] active(U51(tt,V2)) -> mark(U52(isNatIListKind(V2))) [36] active(U52(tt)) -> mark(tt) [37] active(U61(tt,V2)) -> mark(U62(isNatIListKind(V2))) [38] active(U62(tt)) -> mark(tt) [39] active(U71(tt)) -> mark(tt) [40] active(U81(tt)) -> mark(tt) [41] active(U91(tt,V1,V2)) -> mark(U92(isNatKind(V1),V1,V2)) [42] active(U92(tt,V1,V2)) -> mark(U93(isNatIListKind(V2),V1,V2)) [43] active(U93(tt,V1,V2)) -> mark(U94(isNatIListKind(V2),V1,V2)) [44] active(U94(tt,V1,V2)) -> mark(U95(isNat(V1),V2)) [45] active(U95(tt,V2)) -> mark(U96(isNatList(V2))) [46] active(U96(tt)) -> mark(tt) [47] active(isNat(0)) -> mark(tt) [48] active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1),V1)) [49] active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) [50] active(isNatIList(V)) -> mark(U31(isNatIListKind(V),V)) [51] active(isNatIList(zeros)) -> mark(tt) [52] active(isNatIList(cons(V1,V2))) -> mark(U41(isNatKind(V1),V1,V2)) [53] active(isNatIListKind(nil)) -> mark(tt) [54] active(isNatIListKind(zeros)) -> mark(tt) [55] active(isNatIListKind(cons(V1,V2))) -> mark(U51(isNatKind(V1),V2)) [56] active(isNatIListKind(take(V1,V2))) -> mark(U61(isNatKind(V1),V2)) [57] active(isNatKind(0)) -> mark(tt) [58] active(isNatKind(length(V1))) -> mark(U71(isNatIListKind(V1))) [59] active(isNatKind(s(V1))) -> mark(U81(isNatKind(V1))) [60] active(isNatList(nil)) -> mark(tt) [61] active(isNatList(cons(V1,V2))) -> mark(U91(isNatKind(V1),V1,V2)) [62] active(isNatList(take(V1,V2))) -> mark(U101(isNatKind(V1),V1,V2)) [63] active(length(nil)) -> mark(0) [64] active(length(cons(N,L))) -> mark(U111(isNatList(L),L,N)) [65] active(take(0,IL)) -> mark(U121(isNatIList(IL),IL)) [66] active(take(s(M),cons(N,IL))) -> mark(U131(isNatIList(IL),IL,M,N)) [67] active(cons(X1,X2)) -> cons(active(X1),X2) [68] active(U101(X1,X2,X3)) -> U101(active(X1),X2,X3) [69] active(U102(X1,X2,X3)) -> U102(active(X1),X2,X3) [70] active(U103(X1,X2,X3)) -> U103(active(X1),X2,X3) [71] active(U104(X1,X2,X3)) -> U104(active(X1),X2,X3) [72] active(U105(X1,X2)) -> U105(active(X1),X2) [73] active(U106(X)) -> U106(active(X)) [74] active(U11(X1,X2)) -> U11(active(X1),X2) [75] active(U12(X1,X2)) -> U12(active(X1),X2) [76] active(U111(X1,X2,X3)) -> U111(active(X1),X2,X3) [77] active(U112(X1,X2,X3)) -> U112(active(X1),X2,X3) [78] active(U113(X1,X2,X3)) -> U113(active(X1),X2,X3) [79] active(U114(X1,X2)) -> U114(active(X1),X2) [80] active(s(X)) -> s(active(X)) [81] active(length(X)) -> length(active(X)) [82] active(U13(X)) -> U13(active(X)) [83] active(U121(X1,X2)) -> U121(active(X1),X2) [84] active(U122(X)) -> U122(active(X)) [85] active(U131(X1,X2,X3,X4)) -> U131(active(X1),X2,X3,X4) [86] active(U132(X1,X2,X3,X4)) -> U132(active(X1),X2,X3,X4) [87] active(U133(X1,X2,X3,X4)) -> U133(active(X1),X2,X3,X4) [88] active(U134(X1,X2,X3,X4)) -> U134(active(X1),X2,X3,X4) [89] active(U135(X1,X2,X3,X4)) -> U135(active(X1),X2,X3,X4) [90] active(U136(X1,X2,X3,X4)) -> U136(active(X1),X2,X3,X4) [91] active(take(X1,X2)) -> take(active(X1),X2) [92] active(take(X1,X2)) -> take(X1,active(X2)) [93] active(U21(X1,X2)) -> U21(active(X1),X2) [94] active(U22(X1,X2)) -> U22(active(X1),X2) [95] active(U23(X)) -> U23(active(X)) [96] active(U31(X1,X2)) -> U31(active(X1),X2) [97] active(U32(X1,X2)) -> U32(active(X1),X2) [98] active(U33(X)) -> U33(active(X)) [99] active(U41(X1,X2,X3)) -> U41(active(X1),X2,X3) [100] active(U42(X1,X2,X3)) -> U42(active(X1),X2,X3) [101] active(U43(X1,X2,X3)) -> U43(active(X1),X2,X3) [102] active(U44(X1,X2,X3)) -> U44(active(X1),X2,X3) [103] active(U45(X1,X2)) -> U45(active(X1),X2) [104] active(U46(X)) -> U46(active(X)) [105] active(U51(X1,X2)) -> U51(active(X1),X2) [106] active(U52(X)) -> U52(active(X)) [107] active(U61(X1,X2)) -> U61(active(X1),X2) [108] active(U62(X)) -> U62(active(X)) [109] active(U71(X)) -> U71(active(X)) [110] active(U81(X)) -> U81(active(X)) [111] active(U91(X1,X2,X3)) -> U91(active(X1),X2,X3) [112] active(U92(X1,X2,X3)) -> U92(active(X1),X2,X3) [113] active(U93(X1,X2,X3)) -> U93(active(X1),X2,X3) [114] active(U94(X1,X2,X3)) -> U94(active(X1),X2,X3) [115] active(U95(X1,X2)) -> U95(active(X1),X2) [116] active(U96(X)) -> U96(active(X)) [117] cons(mark(X1),X2) -> mark(cons(X1,X2)) [118] U101(mark(X1),X2,X3) -> mark(U101(X1,X2,X3)) [119] U102(mark(X1),X2,X3) -> mark(U102(X1,X2,X3)) [120] U103(mark(X1),X2,X3) -> mark(U103(X1,X2,X3)) [121] U104(mark(X1),X2,X3) -> mark(U104(X1,X2,X3)) [122] U105(mark(X1),X2) -> mark(U105(X1,X2)) [123] U106(mark(X)) -> mark(U106(X)) [124] U11(mark(X1),X2) -> mark(U11(X1,X2)) [125] U12(mark(X1),X2) -> mark(U12(X1,X2)) [126] U111(mark(X1),X2,X3) -> mark(U111(X1,X2,X3)) [127] U112(mark(X1),X2,X3) -> mark(U112(X1,X2,X3)) [128] U113(mark(X1),X2,X3) -> mark(U113(X1,X2,X3)) [129] U114(mark(X1),X2) -> mark(U114(X1,X2)) [130] s(mark(X)) -> mark(s(X)) [131] length(mark(X)) -> mark(length(X)) [132] U13(mark(X)) -> mark(U13(X)) [133] U121(mark(X1),X2) -> mark(U121(X1,X2)) [134] U122(mark(X)) -> mark(U122(X)) [135] U131(mark(X1),X2,X3,X4) -> mark(U131(X1,X2,X3,X4)) [136] U132(mark(X1),X2,X3,X4) -> mark(U132(X1,X2,X3,X4)) [137] U133(mark(X1),X2,X3,X4) -> mark(U133(X1,X2,X3,X4)) [138] U134(mark(X1),X2,X3,X4) -> mark(U134(X1,X2,X3,X4)) [139] U135(mark(X1),X2,X3,X4) -> mark(U135(X1,X2,X3,X4)) [140] U136(mark(X1),X2,X3,X4) -> mark(U136(X1,X2,X3,X4)) [141] take(mark(X1),X2) -> mark(take(X1,X2)) [142] take(X1,mark(X2)) -> mark(take(X1,X2)) [143] U21(mark(X1),X2) -> mark(U21(X1,X2)) [144] U22(mark(X1),X2) -> mark(U22(X1,X2)) [145] U23(mark(X)) -> mark(U23(X)) [146] U31(mark(X1),X2) -> mark(U31(X1,X2)) [147] U32(mark(X1),X2) -> mark(U32(X1,X2)) [148] U33(mark(X)) -> mark(U33(X)) [149] U41(mark(X1),X2,X3) -> mark(U41(X1,X2,X3)) [150] U42(mark(X1),X2,X3) -> mark(U42(X1,X2,X3)) [151] U43(mark(X1),X2,X3) -> mark(U43(X1,X2,X3)) [152] U44(mark(X1),X2,X3) -> mark(U44(X1,X2,X3)) [153] U45(mark(X1),X2) -> mark(U45(X1,X2)) [154] U46(mark(X)) -> mark(U46(X)) [155] U51(mark(X1),X2) -> mark(U51(X1,X2)) [156] U52(mark(X)) -> mark(U52(X)) [157] U61(mark(X1),X2) -> mark(U61(X1,X2)) [158] U62(mark(X)) -> mark(U62(X)) [159] U71(mark(X)) -> mark(U71(X)) [160] U81(mark(X)) -> mark(U81(X)) [161] U91(mark(X1),X2,X3) -> mark(U91(X1,X2,X3)) [162] U92(mark(X1),X2,X3) -> mark(U92(X1,X2,X3)) [163] U93(mark(X1),X2,X3) -> mark(U93(X1,X2,X3)) [164] U94(mark(X1),X2,X3) -> mark(U94(X1,X2,X3)) [165] U95(mark(X1),X2) -> mark(U95(X1,X2)) [166] U96(mark(X)) -> mark(U96(X)) [167] proper(zeros) -> ok(zeros) [168] proper(cons(X1,X2)) -> cons(proper(X1),proper(X2)) [169] proper(0) -> ok(0) [170] proper(U101(X1,X2,X3)) -> U101(proper(X1),proper(X2),proper(X3)) [171] proper(tt) -> ok(tt) [172] proper(U102(X1,X2,X3)) -> U102(proper(X1),proper(X2),proper(X3)) [173] proper(isNatKind(X)) -> isNatKind(proper(X)) [174] proper(U103(X1,X2,X3)) -> U103(proper(X1),proper(X2),proper(X3)) [175] proper(isNatIListKind(X)) -> isNatIListKind(proper(X)) [176] proper(U104(X1,X2,X3)) -> U104(proper(X1),proper(X2),proper(X3)) [177] proper(U105(X1,X2)) -> U105(proper(X1),proper(X2)) [178] proper(isNat(X)) -> isNat(proper(X)) [179] proper(U106(X)) -> U106(proper(X)) [180] proper(isNatIList(X)) -> isNatIList(proper(X)) [181] proper(U11(X1,X2)) -> U11(proper(X1),proper(X2)) [182] proper(U12(X1,X2)) -> U12(proper(X1),proper(X2)) [183] proper(U111(X1,X2,X3)) -> U111(proper(X1),proper(X2),proper(X3)) [184] proper(U112(X1,X2,X3)) -> U112(proper(X1),proper(X2),proper(X3)) [185] proper(U113(X1,X2,X3)) -> U113(proper(X1),proper(X2),proper(X3)) [186] proper(U114(X1,X2)) -> U114(proper(X1),proper(X2)) [187] proper(s(X)) -> s(proper(X)) [188] proper(length(X)) -> length(proper(X)) [189] proper(U13(X)) -> U13(proper(X)) [190] proper(isNatList(X)) -> isNatList(proper(X)) [191] proper(U121(X1,X2)) -> U121(proper(X1),proper(X2)) [192] proper(U122(X)) -> U122(proper(X)) [193] proper(nil) -> ok(nil) [194] proper(U131(X1,X2,X3,X4)) -> U131(proper(X1),proper(X2),proper(X3),proper(X4)) [195] proper(U132(X1,X2,X3,X4)) -> U132(proper(X1),proper(X2),proper(X3),proper(X4)) [196] proper(U133(X1,X2,X3,X4)) -> U133(proper(X1),proper(X2),proper(X3),proper(X4)) [197] proper(U134(X1,X2,X3,X4)) -> U134(proper(X1),proper(X2),proper(X3),proper(X4)) [198] proper(U135(X1,X2,X3,X4)) -> U135(proper(X1),proper(X2),proper(X3),proper(X4)) [199] proper(U136(X1,X2,X3,X4)) -> U136(proper(X1),proper(X2),proper(X3),proper(X4)) [200] proper(take(X1,X2)) -> take(proper(X1),proper(X2)) [201] proper(U21(X1,X2)) -> U21(proper(X1),proper(X2)) [202] proper(U22(X1,X2)) -> U22(proper(X1),proper(X2)) [203] proper(U23(X)) -> U23(proper(X)) [204] proper(U31(X1,X2)) -> U31(proper(X1),proper(X2)) [205] proper(U32(X1,X2)) -> U32(proper(X1),proper(X2)) [206] proper(U33(X)) -> U33(proper(X)) [207] proper(U41(X1,X2,X3)) -> U41(proper(X1),proper(X2),proper(X3)) [208] proper(U42(X1,X2,X3)) -> U42(proper(X1),proper(X2),proper(X3)) [209] proper(U43(X1,X2,X3)) -> U43(proper(X1),proper(X2),proper(X3)) [210] proper(U44(X1,X2,X3)) -> U44(proper(X1),proper(X2),proper(X3)) [211] proper(U45(X1,X2)) -> U45(proper(X1),proper(X2)) [212] proper(U46(X)) -> U46(proper(X)) [213] proper(U51(X1,X2)) -> U51(proper(X1),proper(X2)) [214] proper(U52(X)) -> U52(proper(X)) [215] proper(U61(X1,X2)) -> U61(proper(X1),proper(X2)) [216] proper(U62(X)) -> U62(proper(X)) [217] proper(U71(X)) -> U71(proper(X)) [218] proper(U81(X)) -> U81(proper(X)) [219] proper(U91(X1,X2,X3)) -> U91(proper(X1),proper(X2),proper(X3)) [220] proper(U92(X1,X2,X3)) -> U92(proper(X1),proper(X2),proper(X3)) [221] proper(U93(X1,X2,X3)) -> U93(proper(X1),proper(X2),proper(X3)) [222] proper(U94(X1,X2,X3)) -> U94(proper(X1),proper(X2),proper(X3)) [223] proper(U95(X1,X2)) -> U95(proper(X1),proper(X2)) [224] proper(U96(X)) -> U96(proper(X)) [225] cons(ok(X1),ok(X2)) -> ok(cons(X1,X2)) [226] U101(ok(X1),ok(X2),ok(X3)) -> ok(U101(X1,X2,X3)) [227] U102(ok(X1),ok(X2),ok(X3)) -> ok(U102(X1,X2,X3)) [228] isNatKind(ok(X)) -> ok(isNatKind(X)) [229] U103(ok(X1),ok(X2),ok(X3)) -> ok(U103(X1,X2,X3)) [230] isNatIListKind(ok(X)) -> ok(isNatIListKind(X)) [231] U104(ok(X1),ok(X2),ok(X3)) -> ok(U104(X1,X2,X3)) [232] U105(ok(X1),ok(X2)) -> ok(U105(X1,X2)) [233] isNat(ok(X)) -> ok(isNat(X)) [234] U106(ok(X)) -> ok(U106(X)) [235] isNatIList(ok(X)) -> ok(isNatIList(X)) [236] U11(ok(X1),ok(X2)) -> ok(U11(X1,X2)) [237] U12(ok(X1),ok(X2)) -> ok(U12(X1,X2)) [238] U111(ok(X1),ok(X2),ok(X3)) -> ok(U111(X1,X2,X3)) [239] U112(ok(X1),ok(X2),ok(X3)) -> ok(U112(X1,X2,X3)) [240] U113(ok(X1),ok(X2),ok(X3)) -> ok(U113(X1,X2,X3)) [241] U114(ok(X1),ok(X2)) -> ok(U114(X1,X2)) [242] s(ok(X)) -> ok(s(X)) [243] length(ok(X)) -> ok(length(X)) [244] U13(ok(X)) -> ok(U13(X)) [245] isNatList(ok(X)) -> ok(isNatList(X)) [246] U121(ok(X1),ok(X2)) -> ok(U121(X1,X2)) [247] U122(ok(X)) -> ok(U122(X)) [248] U131(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(U131(X1,X2,X3,X4)) [249] U132(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(U132(X1,X2,X3,X4)) [250] U133(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(U133(X1,X2,X3,X4)) [251] U134(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(U134(X1,X2,X3,X4)) [252] U135(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(U135(X1,X2,X3,X4)) [253] U136(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(U136(X1,X2,X3,X4)) [254] take(ok(X1),ok(X2)) -> ok(take(X1,X2)) [255] U21(ok(X1),ok(X2)) -> ok(U21(X1,X2)) [256] U22(ok(X1),ok(X2)) -> ok(U22(X1,X2)) [257] U23(ok(X)) -> ok(U23(X)) [258] U31(ok(X1),ok(X2)) -> ok(U31(X1,X2)) [259] U32(ok(X1),ok(X2)) -> ok(U32(X1,X2)) [260] U33(ok(X)) -> ok(U33(X)) [261] U41(ok(X1),ok(X2),ok(X3)) -> ok(U41(X1,X2,X3)) [262] U42(ok(X1),ok(X2),ok(X3)) -> ok(U42(X1,X2,X3)) [263] U43(ok(X1),ok(X2),ok(X3)) -> ok(U43(X1,X2,X3)) [264] U44(ok(X1),ok(X2),ok(X3)) -> ok(U44(X1,X2,X3)) [265] U45(ok(X1),ok(X2)) -> ok(U45(X1,X2)) [266] U46(ok(X)) -> ok(U46(X)) [267] U51(ok(X1),ok(X2)) -> ok(U51(X1,X2)) [268] U52(ok(X)) -> ok(U52(X)) [269] U61(ok(X1),ok(X2)) -> ok(U61(X1,X2)) [270] U62(ok(X)) -> ok(U62(X)) [271] U71(ok(X)) -> ok(U71(X)) [272] U81(ok(X)) -> ok(U81(X)) [273] U91(ok(X1),ok(X2),ok(X3)) -> ok(U91(X1,X2,X3)) [274] U92(ok(X1),ok(X2),ok(X3)) -> ok(U92(X1,X2,X3)) [275] U93(ok(X1),ok(X2),ok(X3)) -> ok(U93(X1,X2,X3)) [276] U94(ok(X1),ok(X2),ok(X3)) -> ok(U94(X1,X2,X3)) [277] U95(ok(X1),ok(X2)) -> ok(U95(X1,X2)) [278] U96(ok(X)) -> ok(U96(X)) [279] top(mark(X)) -> top(proper(X)) [280] top(ok(X)) -> top(active(X)) Sub problem: guided: DP termination of: END GUIDED APPLY CRITERIA (Graph splitting) Found 57 components: { --> --> --> --> } { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } { --> } { --> } { --> } { --> } { --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> --> --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } APPLY CRITERIA (Subterm criterion) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { cons(mark(X1),X2) >= mark(cons(X1,X2)) ; cons(ok(X1),ok(X2)) >= ok(cons(X1,X2)) ; active(cons(X1,X2)) >= cons(active(X1),X2) ; active(zeros) >= mark(cons(0,zeros)) ; active(U102(tt,V1,V2)) >= mark(U103(isNatIListKind(V2),V1,V2)) ; active(U102(X1,X2,X3)) >= U102(active(X1),X2,X3) ; active(isNatKind(0)) >= mark(tt) ; active(isNatKind(s(V1))) >= mark(U81(isNatKind(V1))) ; active(isNatKind(length(V1))) >= mark(U71(isNatIListKind(V1))) ; active(U101(tt,V1,V2)) >= mark(U102(isNatKind(V1),V1,V2)) ; active(U101(X1,X2,X3)) >= U101(active(X1),X2,X3) ; active(U103(tt,V1,V2)) >= mark(U104(isNatIListKind(V2),V1,V2)) ; active(U103(X1,X2,X3)) >= U103(active(X1),X2,X3) ; active(isNatIListKind(cons(V1,V2))) >= mark(U51(isNatKind(V1),V2)) ; active(isNatIListKind(zeros)) >= mark(tt) ; active(isNatIListKind(nil)) >= mark(tt) ; active(isNatIListKind(take(V1,V2))) >= mark(U61(isNatKind(V1),V2)) ; active(U104(tt,V1,V2)) >= mark(U105(isNat(V1),V2)) ; active(U104(X1,X2,X3)) >= U104(active(X1),X2,X3) ; active(U105(tt,V2)) >= mark(U106(isNatIList(V2))) ; active(U105(X1,X2)) >= U105(active(X1),X2) ; active(isNat(0)) >= mark(tt) ; active(isNat(s(V1))) >= mark(U21(isNatKind(V1),V1)) ; active(isNat(length(V1))) >= mark(U11(isNatIListKind(V1),V1)) ; active(U106(tt)) >= mark(tt) ; active(U106(X)) >= U106(active(X)) ; active(isNatIList(cons(V1,V2))) >= mark(U41(isNatKind(V1),V1,V2)) ; active(isNatIList(zeros)) >= mark(tt) ; active(isNatIList(V)) >= mark(U31(isNatIListKind(V),V)) ; active(U12(tt,V1)) >= mark(U13(isNatList(V1))) ; active(U12(X1,X2)) >= U12(active(X1),X2) ; active(U11(tt,V1)) >= mark(U12(isNatIListKind(V1),V1)) ; active(U11(X1,X2)) >= U11(active(X1),X2) ; active(U112(tt,L,N)) >= mark(U113(isNat(N),L,N)) ; active(U112(X1,X2,X3)) >= U112(active(X1),X2,X3) ; active(U111(tt,L,N)) >= mark(U112(isNatIListKind(L),L,N)) ; active(U111(X1,X2,X3)) >= U111(active(X1),X2,X3) ; active(U113(tt,L,N)) >= mark(U114(isNatKind(N),L)) ; active(U113(X1,X2,X3)) >= U113(active(X1),X2,X3) ; active(U114(tt,L)) >= mark(s(length(L))) ; active(U114(X1,X2)) >= U114(active(X1),X2) ; active(s(X)) >= s(active(X)) ; active(length(cons(N,L))) >= mark(U111(isNatList(L),L,N)) ; active(length(nil)) >= mark(0) ; active(length(X)) >= length(active(X)) ; active(U13(tt)) >= mark(tt) ; active(U13(X)) >= U13(active(X)) ; active(isNatList(cons(V1,V2))) >= mark(U91(isNatKind(V1),V1,V2)) ; active(isNatList(nil)) >= mark(tt) ; active(isNatList(take(V1,V2))) >= mark(U101(isNatKind(V1),V1,V2)) ; active(U122(tt)) >= mark(nil) ; active(U122(X)) >= U122(active(X)) ; active(U121(tt,IL)) >= mark(U122(isNatIListKind(IL))) ; active(U121(X1,X2)) >= U121(active(X1),X2) ; active(U132(tt,IL,M,N)) >= mark(U133(isNat(M),IL,M,N)) ; active(U132(X1,X2,X3,X4)) >= U132(active(X1),X2,X3,X4) ; active(U131(tt,IL,M,N)) >= mark(U132(isNatIListKind(IL),IL,M,N)) ; active(U131(X1,X2,X3,X4)) >= U131(active(X1),X2,X3,X4) ; active(U133(tt,IL,M,N)) >= mark(U134(isNatKind(M),IL,M,N)) ; active(U133(X1,X2,X3,X4)) >= U133(active(X1),X2,X3,X4) ; active(U134(tt,IL,M,N)) >= mark(U135(isNat(N),IL,M,N)) ; active(U134(X1,X2,X3,X4)) >= U134(active(X1),X2,X3,X4) ; active(U135(tt,IL,M,N)) >= mark(U136(isNatKind(N),IL,M,N)) ; active(U135(X1,X2,X3,X4)) >= U135(active(X1),X2,X3,X4) ; active(U136(tt,IL,M,N)) >= mark(cons(N,take(M,IL))) ; active(U136(X1,X2,X3,X4)) >= U136(active(X1),X2,X3,X4) ; active(take(0,IL)) >= mark(U121(isNatIList(IL),IL)) ; active(take(s(M),cons(N,IL))) >= mark(U131(isNatIList(IL),IL,M,N)) ; active(take(X1,X2)) >= take(active(X1),X2) ; active(take(X1,X2)) >= take(X1,active(X2)) ; active(U22(tt,V1)) >= mark(U23(isNat(V1))) ; active(U22(X1,X2)) >= U22(active(X1),X2) ; active(U21(tt,V1)) >= mark(U22(isNatKind(V1),V1)) ; active(U21(X1,X2)) >= U21(active(X1),X2) ; active(U23(tt)) >= mark(tt) ; active(U23(X)) >= U23(active(X)) ; active(U32(tt,V)) >= mark(U33(isNatList(V))) ; active(U32(X1,X2)) >= U32(active(X1),X2) ; active(U31(tt,V)) >= mark(U32(isNatIListKind(V),V)) ; active(U31(X1,X2)) >= U31(active(X1),X2) ; active(U33(tt)) >= mark(tt) ; active(U33(X)) >= U33(active(X)) ; active(U42(tt,V1,V2)) >= mark(U43(isNatIListKind(V2),V1,V2)) ; active(U42(X1,X2,X3)) >= U42(active(X1),X2,X3) ; active(U41(tt,V1,V2)) >= mark(U42(isNatKind(V1),V1,V2)) ; active(U41(X1,X2,X3)) >= U41(active(X1),X2,X3) ; active(U43(tt,V1,V2)) >= mark(U44(isNatIListKind(V2),V1,V2)) ; active(U43(X1,X2,X3)) >= U43(active(X1),X2,X3) ; active(U44(tt,V1,V2)) >= mark(U45(isNat(V1),V2)) ; active(U44(X1,X2,X3)) >= U44(active(X1),X2,X3) ; active(U45(tt,V2)) >= mark(U46(isNatIList(V2))) ; active(U45(X1,X2)) >= U45(active(X1),X2) ; active(U46(tt)) >= mark(tt) ; active(U46(X)) >= U46(active(X)) ; active(U52(tt)) >= mark(tt) ; active(U52(X)) >= U52(active(X)) ; active(U51(tt,V2)) >= mark(U52(isNatIListKind(V2))) ; active(U51(X1,X2)) >= U51(active(X1),X2) ; active(U62(tt)) >= mark(tt) ; active(U62(X)) >= U62(active(X)) ; active(U61(tt,V2)) >= mark(U62(isNatIListKind(V2))) ; active(U61(X1,X2)) >= U61(active(X1),X2) ; active(U71(tt)) >= mark(tt) ; active(U71(X)) >= U71(active(X)) ; active(U81(tt)) >= mark(tt) ; active(U81(X)) >= U81(active(X)) ; active(U92(tt,V1,V2)) >= mark(U93(isNatIListKind(V2),V1,V2)) ; active(U92(X1,X2,X3)) >= U92(active(X1),X2,X3) ; active(U91(tt,V1,V2)) >= mark(U92(isNatKind(V1),V1,V2)) ; active(U91(X1,X2,X3)) >= U91(active(X1),X2,X3) ; active(U93(tt,V1,V2)) >= mark(U94(isNatIListKind(V2),V1,V2)) ; active(U93(X1,X2,X3)) >= U93(active(X1),X2,X3) ; active(U94(tt,V1,V2)) >= mark(U95(isNat(V1),V2)) ; active(U94(X1,X2,X3)) >= U94(active(X1),X2,X3) ; active(U95(tt,V2)) >= mark(U96(isNatList(V2))) ; active(U95(X1,X2)) >= U95(active(X1),X2) ; active(U96(tt)) >= mark(tt) ; active(U96(X)) >= U96(active(X)) ; U102(mark(X1),X2,X3) >= mark(U102(X1,X2,X3)) ; U102(ok(X1),ok(X2),ok(X3)) >= ok(U102(X1,X2,X3)) ; isNatKind(ok(X)) >= ok(isNatKind(X)) ; U101(mark(X1),X2,X3) >= mark(U101(X1,X2,X3)) ; U101(ok(X1),ok(X2),ok(X3)) >= ok(U101(X1,X2,X3)) ; U103(mark(X1),X2,X3) >= mark(U103(X1,X2,X3)) ; U103(ok(X1),ok(X2),ok(X3)) >= ok(U103(X1,X2,X3)) ; isNatIListKind(ok(X)) >= ok(isNatIListKind(X)) ; U104(mark(X1),X2,X3) >= mark(U104(X1,X2,X3)) ; U104(ok(X1),ok(X2),ok(X3)) >= ok(U104(X1,X2,X3)) ; U105(mark(X1),X2) >= mark(U105(X1,X2)) ; U105(ok(X1),ok(X2)) >= ok(U105(X1,X2)) ; isNat(ok(X)) >= ok(isNat(X)) ; U106(mark(X)) >= mark(U106(X)) ; U106(ok(X)) >= ok(U106(X)) ; isNatIList(ok(X)) >= ok(isNatIList(X)) ; U12(mark(X1),X2) >= mark(U12(X1,X2)) ; U12(ok(X1),ok(X2)) >= ok(U12(X1,X2)) ; U11(mark(X1),X2) >= mark(U11(X1,X2)) ; U11(ok(X1),ok(X2)) >= ok(U11(X1,X2)) ; U112(mark(X1),X2,X3) >= mark(U112(X1,X2,X3)) ; U112(ok(X1),ok(X2),ok(X3)) >= ok(U112(X1,X2,X3)) ; U111(mark(X1),X2,X3) >= mark(U111(X1,X2,X3)) ; U111(ok(X1),ok(X2),ok(X3)) >= ok(U111(X1,X2,X3)) ; U113(mark(X1),X2,X3) >= mark(U113(X1,X2,X3)) ; U113(ok(X1),ok(X2),ok(X3)) >= ok(U113(X1,X2,X3)) ; U114(mark(X1),X2) >= mark(U114(X1,X2)) ; U114(ok(X1),ok(X2)) >= ok(U114(X1,X2)) ; s(mark(X)) >= mark(s(X)) ; s(ok(X)) >= ok(s(X)) ; length(mark(X)) >= mark(length(X)) ; length(ok(X)) >= ok(length(X)) ; U13(mark(X)) >= mark(U13(X)) ; U13(ok(X)) >= ok(U13(X)) ; isNatList(ok(X)) >= ok(isNatList(X)) ; U122(mark(X)) >= mark(U122(X)) ; U122(ok(X)) >= ok(U122(X)) ; U121(mark(X1),X2) >= mark(U121(X1,X2)) ; U121(ok(X1),ok(X2)) >= ok(U121(X1,X2)) ; U132(mark(X1),X2,X3,X4) >= mark(U132(X1,X2,X3,X4)) ; U132(ok(X1),ok(X2),ok(X3),ok(X4)) >= ok(U132(X1,X2,X3,X4)) ; U131(mark(X1),X2,X3,X4) >= mark(U131(X1,X2,X3,X4)) ; U131(ok(X1),ok(X2),ok(X3),ok(X4)) >= ok(U131(X1,X2,X3,X4)) ; U133(mark(X1),X2,X3,X4) >= mark(U133(X1,X2,X3,X4)) ; U133(ok(X1),ok(X2),ok(X3),ok(X4)) >= ok(U133(X1,X2,X3,X4)) ; U134(mark(X1),X2,X3,X4) >= mark(U134(X1,X2,X3,X4)) ; U134(ok(X1),ok(X2),ok(X3),ok(X4)) >= ok(U134(X1,X2,X3,X4)) ; U135(mark(X1),X2,X3,X4) >= mark(U135(X1,X2,X3,X4)) ; U135(ok(X1),ok(X2),ok(X3),ok(X4)) >= ok(U135(X1,X2,X3,X4)) ; U136(mark(X1),X2,X3,X4) >= mark(U136(X1,X2,X3,X4)) ; U136(ok(X1),ok(X2),ok(X3),ok(X4)) >= ok(U136(X1,X2,X3,X4)) ; take(mark(X1),X2) >= mark(take(X1,X2)) ; take(ok(X1),ok(X2)) >= ok(take(X1,X2)) ; take(X1,mark(X2)) >= mark(take(X1,X2)) ; U22(mark(X1),X2) >= mark(U22(X1,X2)) ; U22(ok(X1),ok(X2)) >= ok(U22(X1,X2)) ; U21(mark(X1),X2) >= mark(U21(X1,X2)) ; U21(ok(X1),ok(X2)) >= ok(U21(X1,X2)) ; U23(mark(X)) >= mark(U23(X)) ; U23(ok(X)) >= ok(U23(X)) ; U32(mark(X1),X2) >= mark(U32(X1,X2)) ; U32(ok(X1),ok(X2)) >= ok(U32(X1,X2)) ; U31(mark(X1),X2) >= mark(U31(X1,X2)) ; U31(ok(X1),ok(X2)) >= ok(U31(X1,X2)) ; U33(mark(X)) >= mark(U33(X)) ; U33(ok(X)) >= ok(U33(X)) ; U42(mark(X1),X2,X3) >= mark(U42(X1,X2,X3)) ; U42(ok(X1),ok(X2),ok(X3)) >= ok(U42(X1,X2,X3)) ; U41(mark(X1),X2,X3) >= mark(U41(X1,X2,X3)) ; U41(ok(X1),ok(X2),ok(X3)) >= ok(U41(X1,X2,X3)) ; U43(mark(X1),X2,X3) >= mark(U43(X1,X2,X3)) ; U43(ok(X1),ok(X2),ok(X3)) >= ok(U43(X1,X2,X3)) ; U44(mark(X1),X2,X3) >= mark(U44(X1,X2,X3)) ; U44(ok(X1),ok(X2),ok(X3)) >= ok(U44(X1,X2,X3)) ; U45(mark(X1),X2) >= mark(U45(X1,X2)) ; U45(ok(X1),ok(X2)) >= ok(U45(X1,X2)) ; U46(mark(X)) >= mark(U46(X)) ; U46(ok(X)) >= ok(U46(X)) ; U52(mark(X)) >= mark(U52(X)) ; U52(ok(X)) >= ok(U52(X)) ; U51(mark(X1),X2) >= mark(U51(X1,X2)) ; U51(ok(X1),ok(X2)) >= ok(U51(X1,X2)) ; U62(mark(X)) >= mark(U62(X)) ; U62(ok(X)) >= ok(U62(X)) ; U61(mark(X1),X2) >= mark(U61(X1,X2)) ; U61(ok(X1),ok(X2)) >= ok(U61(X1,X2)) ; U71(mark(X)) >= mark(U71(X)) ; U71(ok(X)) >= ok(U71(X)) ; U81(mark(X)) >= mark(U81(X)) ; U81(ok(X)) >= ok(U81(X)) ; U92(mark(X1),X2,X3) >= mark(U92(X1,X2,X3)) ; U92(ok(X1),ok(X2),ok(X3)) >= ok(U92(X1,X2,X3)) ; U91(mark(X1),X2,X3) >= mark(U91(X1,X2,X3)) ; U91(ok(X1),ok(X2),ok(X3)) >= ok(U91(X1,X2,X3)) ; U93(mark(X1),X2,X3) >= mark(U93(X1,X2,X3)) ; U93(ok(X1),ok(X2),ok(X3)) >= ok(U93(X1,X2,X3)) ; U94(mark(X1),X2,X3) >= mark(U94(X1,X2,X3)) ; U94(ok(X1),ok(X2),ok(X3)) >= ok(U94(X1,X2,X3)) ; U95(mark(X1),X2) >= mark(U95(X1,X2)) ; U95(ok(X1),ok(X2)) >= ok(U95(X1,X2)) ; U96(mark(X)) >= mark(U96(X)) ; U96(ok(X)) >= ok(U96(X)) ; proper(cons(X1,X2)) >= cons(proper(X1),proper(X2)) ; proper(0) >= ok(0) ; proper(zeros) >= ok(zeros) ; proper(U102(X1,X2,X3)) >= U102(proper(X1),proper(X2),proper(X3)) ; proper(isNatKind(X)) >= isNatKind(proper(X)) ; proper(U101(X1,X2,X3)) >= U101(proper(X1),proper(X2),proper(X3)) ; proper(tt) >= ok(tt) ; proper(U103(X1,X2,X3)) >= U103(proper(X1),proper(X2),proper(X3)) ; proper(isNatIListKind(X)) >= isNatIListKind(proper(X)) ; proper(U104(X1,X2,X3)) >= U104(proper(X1),proper(X2),proper(X3)) ; proper(U105(X1,X2)) >= U105(proper(X1),proper(X2)) ; proper(isNat(X)) >= isNat(proper(X)) ; proper(U106(X)) >= U106(proper(X)) ; proper(isNatIList(X)) >= isNatIList(proper(X)) ; proper(U12(X1,X2)) >= U12(proper(X1),proper(X2)) ; proper(U11(X1,X2)) >= U11(proper(X1),proper(X2)) ; proper(U112(X1,X2,X3)) >= U112(proper(X1),proper(X2),proper(X3)) ; proper(U111(X1,X2,X3)) >= U111(proper(X1),proper(X2),proper(X3)) ; proper(U113(X1,X2,X3)) >= U113(proper(X1),proper(X2),proper(X3)) ; proper(U114(X1,X2)) >= U114(proper(X1),proper(X2)) ; proper(s(X)) >= s(proper(X)) ; proper(length(X)) >= length(proper(X)) ; proper(U13(X)) >= U13(proper(X)) ; proper(isNatList(X)) >= isNatList(proper(X)) ; proper(U122(X)) >= U122(proper(X)) ; proper(U121(X1,X2)) >= U121(proper(X1),proper(X2)) ; proper(nil) >= ok(nil) ; proper(U132(X1,X2,X3,X4)) >= U132(proper(X1),proper(X2),proper(X3), proper(X4)) ; proper(U131(X1,X2,X3,X4)) >= U131(proper(X1),proper(X2),proper(X3), proper(X4)) ; proper(U133(X1,X2,X3,X4)) >= U133(proper(X1),proper(X2),proper(X3), proper(X4)) ; proper(U134(X1,X2,X3,X4)) >= U134(proper(X1),proper(X2),proper(X3), proper(X4)) ; proper(U135(X1,X2,X3,X4)) >= U135(proper(X1),proper(X2),proper(X3), proper(X4)) ; proper(U136(X1,X2,X3,X4)) >= U136(proper(X1),proper(X2),proper(X3), proper(X4)) ; proper(take(X1,X2)) >= take(proper(X1),proper(X2)) ; proper(U22(X1,X2)) >= U22(proper(X1),proper(X2)) ; proper(U21(X1,X2)) >= U21(proper(X1),proper(X2)) ; proper(U23(X)) >= U23(proper(X)) ; proper(U32(X1,X2)) >= U32(proper(X1),proper(X2)) ; proper(U31(X1,X2)) >= U31(proper(X1),proper(X2)) ; proper(U33(X)) >= U33(proper(X)) ; proper(U42(X1,X2,X3)) >= U42(proper(X1),proper(X2),proper(X3)) ; proper(U41(X1,X2,X3)) >= U41(proper(X1),proper(X2),proper(X3)) ; proper(U43(X1,X2,X3)) >= U43(proper(X1),proper(X2),proper(X3)) ; proper(U44(X1,X2,X3)) >= U44(proper(X1),proper(X2),proper(X3)) ; proper(U45(X1,X2)) >= U45(proper(X1),proper(X2)) ; proper(U46(X)) >= U46(proper(X)) ; proper(U52(X)) >= U52(proper(X)) ; proper(U51(X1,X2)) >= U51(proper(X1),proper(X2)) ; proper(U62(X)) >= U62(proper(X)) ; proper(U61(X1,X2)) >= U61(proper(X1),proper(X2)) ; proper(U71(X)) >= U71(proper(X)) ; proper(U81(X)) >= U81(proper(X)) ; proper(U92(X1,X2,X3)) >= U92(proper(X1),proper(X2),proper(X3)) ; proper(U91(X1,X2,X3)) >= U91(proper(X1),proper(X2),proper(X3)) ; proper(U93(X1,X2,X3)) >= U93(proper(X1),proper(X2),proper(X3)) ; proper(U94(X1,X2,X3)) >= U94(proper(X1),proper(X2),proper(X3)) ; proper(U95(X1,X2)) >= U95(proper(X1),proper(X2)) ; proper(U96(X)) >= U96(proper(X)) ; top(mark(X)) >= top(proper(X)) ; top(ok(X)) >= top(active(X)) ; Marked_top(mark(X)) >= Marked_top(proper(X)) ; Marked_top(ok(X)) >= Marked_top(active(X)) ; } + Disjunctions:{ { Marked_top(mark(X)) > Marked_top(proper(X)) ; } { Marked_top(ok(X)) > Marked_top(active(X)) ; } } === TIMER virtual : 10.000000 === Entering poly_solver Starting Sat solver initialization Calling Sat solver... === STOPING TIMER virtual === === TIMER real : 10.000000 === === STOPING TIMER real === Sat solver returned === STOPING TIMER real === === STOPING TIMER virtual === No solution found for these parameters. Entering rpo_solver === TIMER virtual : 25.000000 === Search parameters: AFS type: 2 ; time limit: 25.. === STOPING TIMER virtual === Time out for these parameters. === TIMER virtual : 15.000000 === Entering poly_solver Starting Sat solver initialization Calling Sat solver... === STOPING TIMER virtual === === TIMER real : 15.000000 === === STOPING TIMER real === Sat solver returned === STOPING TIMER real === === STOPING TIMER virtual === No solution found for these parameters. === TIMER virtual : 50.000000 === trying sub matrices of size: 1 Matrix interpretation constraints generated. Search parameters: LINEAR MATRIX 3x3 (strict=1x1) ; time limit: 50.. Termination constraints generated. Starting Sat solver initialization Calling Sat solver... === STOPING TIMER virtual === === TIMER real : 50.000000 === === STOPING TIMER real === Sat timeout reached === STOPING TIMER virtual === No solution found for these parameters. No solution found for these constraints. APPLY CRITERIA (Simple graph) Found the following constraints: { cons(mark(X1),X2) >= mark(cons(X1,X2)) ; cons(ok(X1),ok(X2)) >= ok(cons(X1,X2)) ; active(cons(X1,X2)) >= cons(active(X1),X2) ; active(zeros) >= mark(cons(0,zeros)) ; active(U102(tt,V1,V2)) >= mark(U103(isNatIListKind(V2),V1,V2)) ; active(U102(X1,X2,X3)) >= U102(active(X1),X2,X3) ; active(isNatKind(0)) >= mark(tt) ; active(isNatKind(s(V1))) >= mark(U81(isNatKind(V1))) ; active(isNatKind(length(V1))) >= mark(U71(isNatIListKind(V1))) ; active(U101(tt,V1,V2)) >= mark(U102(isNatKind(V1),V1,V2)) ; active(U101(X1,X2,X3)) >= U101(active(X1),X2,X3) ; active(U103(tt,V1,V2)) >= mark(U104(isNatIListKind(V2),V1,V2)) ; active(U103(X1,X2,X3)) >= U103(active(X1),X2,X3) ; active(isNatIListKind(cons(V1,V2))) >= mark(U51(isNatKind(V1),V2)) ; active(isNatIListKind(zeros)) >= mark(tt) ; active(isNatIListKind(nil)) >= mark(tt) ; active(isNatIListKind(take(V1,V2))) >= mark(U61(isNatKind(V1),V2)) ; active(U104(tt,V1,V2)) >= mark(U105(isNat(V1),V2)) ; active(U104(X1,X2,X3)) >= U104(active(X1),X2,X3) ; active(U105(tt,V2)) >= mark(U106(isNatIList(V2))) ; active(U105(X1,X2)) >= U105(active(X1),X2) ; active(isNat(0)) >= mark(tt) ; active(isNat(s(V1))) >= mark(U21(isNatKind(V1),V1)) ; active(isNat(length(V1))) >= mark(U11(isNatIListKind(V1),V1)) ; active(U106(tt)) >= mark(tt) ; active(U106(X)) >= U106(active(X)) ; active(isNatIList(cons(V1,V2))) >= mark(U41(isNatKind(V1),V1,V2)) ; active(isNatIList(zeros)) >= mark(tt) ; active(isNatIList(V)) >= mark(U31(isNatIListKind(V),V)) ; active(U12(tt,V1)) >= mark(U13(isNatList(V1))) ; active(U12(X1,X2)) >= U12(active(X1),X2) ; active(U11(tt,V1)) >= mark(U12(isNatIListKind(V1),V1)) ; active(U11(X1,X2)) >= U11(active(X1),X2) ; active(U112(tt,L,N)) >= mark(U113(isNat(N),L,N)) ; active(U112(X1,X2,X3)) >= U112(active(X1),X2,X3) ; active(U111(tt,L,N)) >= mark(U112(isNatIListKind(L),L,N)) ; active(U111(X1,X2,X3)) >= U111(active(X1),X2,X3) ; active(U113(tt,L,N)) >= mark(U114(isNatKind(N),L)) ; active(U113(X1,X2,X3)) >= U113(active(X1),X2,X3) ; active(U114(tt,L)) >= mark(s(length(L))) ; active(U114(X1,X2)) >= U114(active(X1),X2) ; active(s(X)) >= s(active(X)) ; active(length(cons(N,L))) >= mark(U111(isNatList(L),L,N)) ; active(length(nil)) >= mark(0) ; active(length(X)) >= length(active(X)) ; active(U13(tt)) >= mark(tt) ; active(U13(X)) >= U13(active(X)) ; active(isNatList(cons(V1,V2))) >= mark(U91(isNatKind(V1),V1,V2)) ; active(isNatList(nil)) >= mark(tt) ; active(isNatList(take(V1,V2))) >= mark(U101(isNatKind(V1),V1,V2)) ; active(U122(tt)) >= mark(nil) ; active(U122(X)) >= U122(active(X)) ; active(U121(tt,IL)) >= mark(U122(isNatIListKind(IL))) ; active(U121(X1,X2)) >= U121(active(X1),X2) ; active(U132(tt,IL,M,N)) >= mark(U133(isNat(M),IL,M,N)) ; active(U132(X1,X2,X3,X4)) >= U132(active(X1),X2,X3,X4) ; active(U131(tt,IL,M,N)) >= mark(U132(isNatIListKind(IL),IL,M,N)) ; active(U131(X1,X2,X3,X4)) >= U131(active(X1),X2,X3,X4) ; active(U133(tt,IL,M,N)) >= mark(U134(isNatKind(M),IL,M,N)) ; active(U133(X1,X2,X3,X4)) >= U133(active(X1),X2,X3,X4) ; active(U134(tt,IL,M,N)) >= mark(U135(isNat(N),IL,M,N)) ; active(U134(X1,X2,X3,X4)) >= U134(active(X1),X2,X3,X4) ; active(U135(tt,IL,M,N)) >= mark(U136(isNatKind(N),IL,M,N)) ; active(U135(X1,X2,X3,X4)) >= U135(active(X1),X2,X3,X4) ; active(U136(tt,IL,M,N)) >= mark(cons(N,take(M,IL))) ; active(U136(X1,X2,X3,X4)) >= U136(active(X1),X2,X3,X4) ; active(take(0,IL)) >= mark(U121(isNatIList(IL),IL)) ; active(take(s(M),cons(N,IL))) >= mark(U131(isNatIList(IL),IL,M,N)) ; active(take(X1,X2)) >= take(active(X1),X2) ; active(take(X1,X2)) >= take(X1,active(X2)) ; active(U22(tt,V1)) >= mark(U23(isNat(V1))) ; active(U22(X1,X2)) >= U22(active(X1),X2) ; active(U21(tt,V1)) >= mark(U22(isNatKind(V1),V1)) ; active(U21(X1,X2)) >= U21(active(X1),X2) ; active(U23(tt)) >= mark(tt) ; active(U23(X)) >= U23(active(X)) ; active(U32(tt,V)) >= mark(U33(isNatList(V))) ; active(U32(X1,X2)) >= U32(active(X1),X2) ; active(U31(tt,V)) >= mark(U32(isNatIListKind(V),V)) ; active(U31(X1,X2)) >= U31(active(X1),X2) ; active(U33(tt)) >= mark(tt) ; active(U33(X)) >= U33(active(X)) ; active(U42(tt,V1,V2)) >= mark(U43(isNatIListKind(V2),V1,V2)) ; active(U42(X1,X2,X3)) >= U42(active(X1),X2,X3) ; active(U41(tt,V1,V2)) >= mark(U42(isNatKind(V1),V1,V2)) ; active(U41(X1,X2,X3)) >= U41(active(X1),X2,X3) ; active(U43(tt,V1,V2)) >= mark(U44(isNatIListKind(V2),V1,V2)) ; active(U43(X1,X2,X3)) >= U43(active(X1),X2,X3) ; active(U44(tt,V1,V2)) >= mark(U45(isNat(V1),V2)) ; active(U44(X1,X2,X3)) >= U44(active(X1),X2,X3) ; active(U45(tt,V2)) >= mark(U46(isNatIList(V2))) ; active(U45(X1,X2)) >= U45(active(X1),X2) ; active(U46(tt)) >= mark(tt) ; active(U46(X)) >= U46(active(X)) ; active(U52(tt)) >= mark(tt) ; active(U52(X)) >= U52(active(X)) ; active(U51(tt,V2)) >= mark(U52(isNatIListKind(V2))) ; active(U51(X1,X2)) >= U51(active(X1),X2) ; active(U62(tt)) >= mark(tt) ; active(U62(X)) >= U62(active(X)) ; active(U61(tt,V2)) >= mark(U62(isNatIListKind(V2))) ; active(U61(X1,X2)) >= U61(active(X1),X2) ; active(U71(tt)) >= mark(tt) ; active(U71(X)) >= U71(active(X)) ; active(U81(tt)) >= mark(tt) ; active(U81(X)) >= U81(active(X)) ; active(U92(tt,V1,V2)) >= mark(U93(isNatIListKind(V2),V1,V2)) ; active(U92(X1,X2,X3)) >= U92(active(X1),X2,X3) ; active(U91(tt,V1,V2)) >= mark(U92(isNatKind(V1),V1,V2)) ; active(U91(X1,X2,X3)) >= U91(active(X1),X2,X3) ; active(U93(tt,V1,V2)) >= mark(U94(isNatIListKind(V2),V1,V2)) ; active(U93(X1,X2,X3)) >= U93(active(X1),X2,X3) ; active(U94(tt,V1,V2)) >= mark(U95(isNat(V1),V2)) ; active(U94(X1,X2,X3)) >= U94(active(X1),X2,X3) ; active(U95(tt,V2)) >= mark(U96(isNatList(V2))) ; active(U95(X1,X2)) >= U95(active(X1),X2) ; active(U96(tt)) >= mark(tt) ; active(U96(X)) >= U96(active(X)) ; U102(mark(X1),X2,X3) >= mark(U102(X1,X2,X3)) ; U102(ok(X1),ok(X2),ok(X3)) >= ok(U102(X1,X2,X3)) ; isNatKind(ok(X)) >= ok(isNatKind(X)) ; U101(mark(X1),X2,X3) >= mark(U101(X1,X2,X3)) ; U101(ok(X1),ok(X2),ok(X3)) >= ok(U101(X1,X2,X3)) ; U103(mark(X1),X2,X3) >= mark(U103(X1,X2,X3)) ; U103(ok(X1),ok(X2),ok(X3)) >= ok(U103(X1,X2,X3)) ; isNatIListKind(ok(X)) >= ok(isNatIListKind(X)) ; U104(mark(X1),X2,X3) >= mark(U104(X1,X2,X3)) ; U104(ok(X1),ok(X2),ok(X3)) >= ok(U104(X1,X2,X3)) ; U105(mark(X1),X2) >= mark(U105(X1,X2)) ; U105(ok(X1),ok(X2)) >= ok(U105(X1,X2)) ; isNat(ok(X)) >= ok(isNat(X)) ; U106(mark(X)) >= mark(U106(X)) ; U106(ok(X)) >= ok(U106(X)) ; isNatIList(ok(X)) >= ok(isNatIList(X)) ; U12(mark(X1),X2) >= mark(U12(X1,X2)) ; U12(ok(X1),ok(X2)) >= ok(U12(X1,X2)) ; U11(mark(X1),X2) >= mark(U11(X1,X2)) ; U11(ok(X1),ok(X2)) >= ok(U11(X1,X2)) ; U112(mark(X1),X2,X3) >= mark(U112(X1,X2,X3)) ; U112(ok(X1),ok(X2),ok(X3)) >= ok(U112(X1,X2,X3)) ; U111(mark(X1),X2,X3) >= mark(U111(X1,X2,X3)) ; U111(ok(X1),ok(X2),ok(X3)) >= ok(U111(X1,X2,X3)) ; U113(mark(X1),X2,X3) >= mark(U113(X1,X2,X3)) ; U113(ok(X1),ok(X2),ok(X3)) >= ok(U113(X1,X2,X3)) ; U114(mark(X1),X2) >= mark(U114(X1,X2)) ; U114(ok(X1),ok(X2)) >= ok(U114(X1,X2)) ; s(mark(X)) >= mark(s(X)) ; s(ok(X)) >= ok(s(X)) ; length(mark(X)) >= mark(length(X)) ; length(ok(X)) >= ok(length(X)) ; U13(mark(X)) >= mark(U13(X)) ; U13(ok(X)) >= ok(U13(X)) ; isNatList(ok(X)) >= ok(isNatList(X)) ; U122(mark(X)) >= mark(U122(X)) ; U122(ok(X)) >= ok(U122(X)) ; U121(mark(X1),X2) >= mark(U121(X1,X2)) ; U121(ok(X1),ok(X2)) >= ok(U121(X1,X2)) ; U132(mark(X1),X2,X3,X4) >= mark(U132(X1,X2,X3,X4)) ; U132(ok(X1),ok(X2),ok(X3),ok(X4)) >= ok(U132(X1,X2,X3,X4)) ; U131(mark(X1),X2,X3,X4) >= mark(U131(X1,X2,X3,X4)) ; U131(ok(X1),ok(X2),ok(X3),ok(X4)) >= ok(U131(X1,X2,X3,X4)) ; U133(mark(X1),X2,X3,X4) >= mark(U133(X1,X2,X3,X4)) ; U133(ok(X1),ok(X2),ok(X3),ok(X4)) >= ok(U133(X1,X2,X3,X4)) ; U134(mark(X1),X2,X3,X4) >= mark(U134(X1,X2,X3,X4)) ; U134(ok(X1),ok(X2),ok(X3),ok(X4)) >= ok(U134(X1,X2,X3,X4)) ; U135(mark(X1),X2,X3,X4) >= mark(U135(X1,X2,X3,X4)) ; U135(ok(X1),ok(X2),ok(X3),ok(X4)) >= ok(U135(X1,X2,X3,X4)) ; U136(mark(X1),X2,X3,X4) >= mark(U136(X1,X2,X3,X4)) ; U136(ok(X1),ok(X2),ok(X3),ok(X4)) >= ok(U136(X1,X2,X3,X4)) ; take(mark(X1),X2) >= mark(take(X1,X2)) ; take(ok(X1),ok(X2)) >= ok(take(X1,X2)) ; take(X1,mark(X2)) >= mark(take(X1,X2)) ; U22(mark(X1),X2) >= mark(U22(X1,X2)) ; U22(ok(X1),ok(X2)) >= ok(U22(X1,X2)) ; U21(mark(X1),X2) >= mark(U21(X1,X2)) ; U21(ok(X1),ok(X2)) >= ok(U21(X1,X2)) ; U23(mark(X)) >= mark(U23(X)) ; U23(ok(X)) >= ok(U23(X)) ; U32(mark(X1),X2) >= mark(U32(X1,X2)) ; U32(ok(X1),ok(X2)) >= ok(U32(X1,X2)) ; U31(mark(X1),X2) >= mark(U31(X1,X2)) ; U31(ok(X1),ok(X2)) >= ok(U31(X1,X2)) ; U33(mark(X)) >= mark(U33(X)) ; U33(ok(X)) >= ok(U33(X)) ; U42(mark(X1),X2,X3) >= mark(U42(X1,X2,X3)) ; U42(ok(X1),ok(X2),ok(X3)) >= ok(U42(X1,X2,X3)) ; U41(mark(X1),X2,X3) >= mark(U41(X1,X2,X3)) ; U41(ok(X1),ok(X2),ok(X3)) >= ok(U41(X1,X2,X3)) ; U43(mark(X1),X2,X3) >= mark(U43(X1,X2,X3)) ; U43(ok(X1),ok(X2),ok(X3)) >= ok(U43(X1,X2,X3)) ; U44(mark(X1),X2,X3) >= mark(U44(X1,X2,X3)) ; U44(ok(X1),ok(X2),ok(X3)) >= ok(U44(X1,X2,X3)) ; U45(mark(X1),X2) >= mark(U45(X1,X2)) ; U45(ok(X1),ok(X2)) >= ok(U45(X1,X2)) ; U46(mark(X)) >= mark(U46(X)) ; U46(ok(X)) >= ok(U46(X)) ; U52(mark(X)) >= mark(U52(X)) ; U52(ok(X)) >= ok(U52(X)) ; U51(mark(X1),X2) >= mark(U51(X1,X2)) ; U51(ok(X1),ok(X2)) >= ok(U51(X1,X2)) ; U62(mark(X)) >= mark(U62(X)) ; U62(ok(X)) >= ok(U62(X)) ; U61(mark(X1),X2) >= mark(U61(X1,X2)) ; U61(ok(X1),ok(X2)) >= ok(U61(X1,X2)) ; U71(mark(X)) >= mark(U71(X)) ; U71(ok(X)) >= ok(U71(X)) ; U81(mark(X)) >= mark(U81(X)) ; U81(ok(X)) >= ok(U81(X)) ; U92(mark(X1),X2,X3) >= mark(U92(X1,X2,X3)) ; U92(ok(X1),ok(X2),ok(X3)) >= ok(U92(X1,X2,X3)) ; U91(mark(X1),X2,X3) >= mark(U91(X1,X2,X3)) ; U91(ok(X1),ok(X2),ok(X3)) >= ok(U91(X1,X2,X3)) ; U93(mark(X1),X2,X3) >= mark(U93(X1,X2,X3)) ; U93(ok(X1),ok(X2),ok(X3)) >= ok(U93(X1,X2,X3)) ; U94(mark(X1),X2,X3) >= mark(U94(X1,X2,X3)) ; U94(ok(X1),ok(X2),ok(X3)) >= ok(U94(X1,X2,X3)) ; U95(mark(X1),X2) >= mark(U95(X1,X2)) ; U95(ok(X1),ok(X2)) >= ok(U95(X1,X2)) ; U96(mark(X)) >= mark(U96(X)) ; U96(ok(X)) >= ok(U96(X)) ; proper(cons(X1,X2)) >= cons(proper(X1),proper(X2)) ; proper(0) >= ok(0) ; proper(zeros) >= ok(zeros) ; proper(U102(X1,X2,X3)) >= U102(proper(X1),proper(X2),proper(X3)) ; proper(isNatKind(X)) >= isNatKind(proper(X)) ; proper(U101(X1,X2,X3)) >= U101(proper(X1),proper(X2),proper(X3)) ; proper(tt) >= ok(tt) ; proper(U103(X1,X2,X3)) >= U103(proper(X1),proper(X2),proper(X3)) ; proper(isNatIListKind(X)) >= isNatIListKind(proper(X)) ; proper(U104(X1,X2,X3)) >= U104(proper(X1),proper(X2),proper(X3)) ; proper(U105(X1,X2)) >= U105(proper(X1),proper(X2)) ; proper(isNat(X)) >= isNat(proper(X)) ; proper(U106(X)) >= U106(proper(X)) ; proper(isNatIList(X)) >= isNatIList(proper(X)) ; proper(U12(X1,X2)) >= U12(proper(X1),proper(X2)) ; proper(U11(X1,X2)) >= U11(proper(X1),proper(X2)) ; proper(U112(X1,X2,X3)) >= U112(proper(X1),proper(X2),proper(X3)) ; proper(U111(X1,X2,X3)) >= U111(proper(X1),proper(X2),proper(X3)) ; proper(U113(X1,X2,X3)) >= U113(proper(X1),proper(X2),proper(X3)) ; proper(U114(X1,X2)) >= U114(proper(X1),proper(X2)) ; proper(s(X)) >= s(proper(X)) ; proper(length(X)) >= length(proper(X)) ; proper(U13(X)) >= U13(proper(X)) ; proper(isNatList(X)) >= isNatList(proper(X)) ; proper(U122(X)) >= U122(proper(X)) ; proper(U121(X1,X2)) >= U121(proper(X1),proper(X2)) ; proper(nil) >= ok(nil) ; proper(U132(X1,X2,X3,X4)) >= U132(proper(X1),proper(X2),proper(X3), proper(X4)) ; proper(U131(X1,X2,X3,X4)) >= U131(proper(X1),proper(X2),proper(X3), proper(X4)) ; proper(U133(X1,X2,X3,X4)) >= U133(proper(X1),proper(X2),proper(X3), proper(X4)) ; proper(U134(X1,X2,X3,X4)) >= U134(proper(X1),proper(X2),proper(X3), proper(X4)) ; proper(U135(X1,X2,X3,X4)) >= U135(proper(X1),proper(X2),proper(X3), proper(X4)) ; proper(U136(X1,X2,X3,X4)) >= U136(proper(X1),proper(X2),proper(X3), proper(X4)) ; proper(take(X1,X2)) >= take(proper(X1),proper(X2)) ; proper(U22(X1,X2)) >= U22(proper(X1),proper(X2)) ; proper(U21(X1,X2)) >= U21(proper(X1),proper(X2)) ; proper(U23(X)) >= U23(proper(X)) ; proper(U32(X1,X2)) >= U32(proper(X1),proper(X2)) ; proper(U31(X1,X2)) >= U31(proper(X1),proper(X2)) ; proper(U33(X)) >= U33(proper(X)) ; proper(U42(X1,X2,X3)) >= U42(proper(X1),proper(X2),proper(X3)) ; proper(U41(X1,X2,X3)) >= U41(proper(X1),proper(X2),proper(X3)) ; proper(U43(X1,X2,X3)) >= U43(proper(X1),proper(X2),proper(X3)) ; proper(U44(X1,X2,X3)) >= U44(proper(X1),proper(X2),proper(X3)) ; proper(U45(X1,X2)) >= U45(proper(X1),proper(X2)) ; proper(U46(X)) >= U46(proper(X)) ; proper(U52(X)) >= U52(proper(X)) ; proper(U51(X1,X2)) >= U51(proper(X1),proper(X2)) ; proper(U62(X)) >= U62(proper(X)) ; proper(U61(X1,X2)) >= U61(proper(X1),proper(X2)) ; proper(U71(X)) >= U71(proper(X)) ; proper(U81(X)) >= U81(proper(X)) ; proper(U92(X1,X2,X3)) >= U92(proper(X1),proper(X2),proper(X3)) ; proper(U91(X1,X2,X3)) >= U91(proper(X1),proper(X2),proper(X3)) ; proper(U93(X1,X2,X3)) >= U93(proper(X1),proper(X2),proper(X3)) ; proper(U94(X1,X2,X3)) >= U94(proper(X1),proper(X2),proper(X3)) ; proper(U95(X1,X2)) >= U95(proper(X1),proper(X2)) ; proper(U96(X)) >= U96(proper(X)) ; top(mark(X)) >= top(proper(X)) ; top(ok(X)) >= top(active(X)) ; Marked_top(mark(X)) > Marked_top(proper(X)) ; Marked_top(ok(X)) > Marked_top(active(X)) ; } APPLY CRITERIA (SOLVE_ORD) Trying to solve the following constraints: { cons(mark(X1),X2) >= mark(cons(X1,X2)) ; cons(ok(X1),ok(X2)) >= ok(cons(X1,X2)) ; active(cons(X1,X2)) >= cons(active(X1),X2) ; active(zeros) >= mark(cons(0,zeros)) ; active(U102(tt,V1,V2)) >= mark(U103(isNatIListKind(V2),V1,V2)) ; active(U102(X1,X2,X3)) >= U102(active(X1),X2,X3) ; active(isNatKind(0)) >= mark(tt) ; active(isNatKind(s(V1))) >= mark(U81(isNatKind(V1))) ; active(isNatKind(length(V1))) >= mark(U71(isNatIListKind(V1))) ; active(U101(tt,V1,V2)) >= mark(U102(isNatKind(V1),V1,V2)) ; active(U101(X1,X2,X3)) >= U101(active(X1),X2,X3) ; active(U103(tt,V1,V2)) >= mark(U104(isNatIListKind(V2),V1,V2)) ; active(U103(X1,X2,X3)) >= U103(active(X1),X2,X3) ; active(isNatIListKind(cons(V1,V2))) >= mark(U51(isNatKind(V1),V2)) ; active(isNatIListKind(zeros)) >= mark(tt) ; active(isNatIListKind(nil)) >= mark(tt) ; active(isNatIListKind(take(V1,V2))) >= mark(U61(isNatKind(V1),V2)) ; active(U104(tt,V1,V2)) >= mark(U105(isNat(V1),V2)) ; active(U104(X1,X2,X3)) >= U104(active(X1),X2,X3) ; active(U105(tt,V2)) >= mark(U106(isNatIList(V2))) ; active(U105(X1,X2)) >= U105(active(X1),X2) ; active(isNat(0)) >= mark(tt) ; active(isNat(s(V1))) >= mark(U21(isNatKind(V1),V1)) ; active(isNat(length(V1))) >= mark(U11(isNatIListKind(V1),V1)) ; active(U106(tt)) >= mark(tt) ; active(U106(X)) >= U106(active(X)) ; active(isNatIList(cons(V1,V2))) >= mark(U41(isNatKind(V1),V1,V2)) ; active(isNatIList(zeros)) >= mark(tt) ; active(isNatIList(V)) >= mark(U31(isNatIListKind(V),V)) ; active(U12(tt,V1)) >= mark(U13(isNatList(V1))) ; active(U12(X1,X2)) >= U12(active(X1),X2) ; active(U11(tt,V1)) >= mark(U12(isNatIListKind(V1),V1)) ; active(U11(X1,X2)) >= U11(active(X1),X2) ; active(U112(tt,L,N)) >= mark(U113(isNat(N),L,N)) ; active(U112(X1,X2,X3)) >= U112(active(X1),X2,X3) ; active(U111(tt,L,N)) >= mark(U112(isNatIListKind(L),L,N)) ; active(U111(X1,X2,X3)) >= U111(active(X1),X2,X3) ; active(U113(tt,L,N)) >= mark(U114(isNatKind(N),L)) ; active(U113(X1,X2,X3)) >= U113(active(X1),X2,X3) ; active(U114(tt,L)) >= mark(s(length(L))) ; active(U114(X1,X2)) >= U114(active(X1),X2) ; active(s(X)) >= s(active(X)) ; active(length(cons(N,L))) >= mark(U111(isNatList(L),L,N)) ; active(length(nil)) >= mark(0) ; active(length(X)) >= length(active(X)) ; active(U13(tt)) >= mark(tt) ; active(U13(X)) >= U13(active(X)) ; active(isNatList(cons(V1,V2))) >= mark(U91(isNatKind(V1),V1,V2)) ; active(isNatList(nil)) >= mark(tt) ; active(isNatList(take(V1,V2))) >= mark(U101(isNatKind(V1),V1,V2)) ; active(U122(tt)) >= mark(nil) ; active(U122(X)) >= U122(active(X)) ; active(U121(tt,IL)) >= mark(U122(isNatIListKind(IL))) ; active(U121(X1,X2)) >= U121(active(X1),X2) ; active(U132(tt,IL,M,N)) >= mark(U133(isNat(M),IL,M,N)) ; active(U132(X1,X2,X3,X4)) >= U132(active(X1),X2,X3,X4) ; active(U131(tt,IL,M,N)) >= mark(U132(isNatIListKind(IL),IL,M,N)) ; active(U131(X1,X2,X3,X4)) >= U131(active(X1),X2,X3,X4) ; active(U133(tt,IL,M,N)) >= mark(U134(isNatKind(M),IL,M,N)) ; active(U133(X1,X2,X3,X4)) >= U133(active(X1),X2,X3,X4) ; active(U134(tt,IL,M,N)) >= mark(U135(isNat(N),IL,M,N)) ; active(U134(X1,X2,X3,X4)) >= U134(active(X1),X2,X3,X4) ; active(U135(tt,IL,M,N)) >= mark(U136(isNatKind(N),IL,M,N)) ; active(U135(X1,X2,X3,X4)) >= U135(active(X1),X2,X3,X4) ; active(U136(tt,IL,M,N)) >= mark(cons(N,take(M,IL))) ; active(U136(X1,X2,X3,X4)) >= U136(active(X1),X2,X3,X4) ; active(take(0,IL)) >= mark(U121(isNatIList(IL),IL)) ; active(take(s(M),cons(N,IL))) >= mark(U131(isNatIList(IL),IL,M,N)) ; active(take(X1,X2)) >= take(active(X1),X2) ; active(take(X1,X2)) >= take(X1,active(X2)) ; active(U22(tt,V1)) >= mark(U23(isNat(V1))) ; active(U22(X1,X2)) >= U22(active(X1),X2) ; active(U21(tt,V1)) >= mark(U22(isNatKind(V1),V1)) ; active(U21(X1,X2)) >= U21(active(X1),X2) ; active(U23(tt)) >= mark(tt) ; active(U23(X)) >= U23(active(X)) ; active(U32(tt,V)) >= mark(U33(isNatList(V))) ; active(U32(X1,X2)) >= U32(active(X1),X2) ; active(U31(tt,V)) >= mark(U32(isNatIListKind(V),V)) ; active(U31(X1,X2)) >= U31(active(X1),X2) ; active(U33(tt)) >= mark(tt) ; active(U33(X)) >= U33(active(X)) ; active(U42(tt,V1,V2)) >= mark(U43(isNatIListKind(V2),V1,V2)) ; active(U42(X1,X2,X3)) >= U42(active(X1),X2,X3) ; active(U41(tt,V1,V2)) >= mark(U42(isNatKind(V1),V1,V2)) ; active(U41(X1,X2,X3)) >= U41(active(X1),X2,X3) ; active(U43(tt,V1,V2)) >= mark(U44(isNatIListKind(V2),V1,V2)) ; active(U43(X1,X2,X3)) >= U43(active(X1),X2,X3) ; active(U44(tt,V1,V2)) >= mark(U45(isNat(V1),V2)) ; active(U44(X1,X2,X3)) >= U44(active(X1),X2,X3) ; active(U45(tt,V2)) >= mark(U46(isNatIList(V2))) ; active(U45(X1,X2)) >= U45(active(X1),X2) ; active(U46(tt)) >= mark(tt) ; active(U46(X)) >= U46(active(X)) ; active(U52(tt)) >= mark(tt) ; active(U52(X)) >= U52(active(X)) ; active(U51(tt,V2)) >= mark(U52(isNatIListKind(V2))) ; active(U51(X1,X2)) >= U51(active(X1),X2) ; active(U62(tt)) >= mark(tt) ; active(U62(X)) >= U62(active(X)) ; active(U61(tt,V2)) >= mark(U62(isNatIListKind(V2))) ; active(U61(X1,X2)) >= U61(active(X1),X2) ; active(U71(tt)) >= mark(tt) ; active(U71(X)) >= U71(active(X)) ; active(U81(tt)) >= mark(tt) ; active(U81(X)) >= U81(active(X)) ; active(U92(tt,V1,V2)) >= mark(U93(isNatIListKind(V2),V1,V2)) ; active(U92(X1,X2,X3)) >= U92(active(X1),X2,X3) ; active(U91(tt,V1,V2)) >= mark(U92(isNatKind(V1),V1,V2)) ; active(U91(X1,X2,X3)) >= U91(active(X1),X2,X3) ; active(U93(tt,V1,V2)) >= mark(U94(isNatIListKind(V2),V1,V2)) ; active(U93(X1,X2,X3)) >= U93(active(X1),X2,X3) ; active(U94(tt,V1,V2)) >= mark(U95(isNat(V1),V2)) ; active(U94(X1,X2,X3)) >= U94(active(X1),X2,X3) ; active(U95(tt,V2)) >= mark(U96(isNatList(V2))) ; active(U95(X1,X2)) >= U95(active(X1),X2) ; active(U96(tt)) >= mark(tt) ; active(U96(X)) >= U96(active(X)) ; U102(mark(X1),X2,X3) >= mark(U102(X1,X2,X3)) ; U102(ok(X1),ok(X2),ok(X3)) >= ok(U102(X1,X2,X3)) ; isNatKind(ok(X)) >= ok(isNatKind(X)) ; U101(mark(X1),X2,X3) >= mark(U101(X1,X2,X3)) ; U101(ok(X1),ok(X2),ok(X3)) >= ok(U101(X1,X2,X3)) ; U103(mark(X1),X2,X3) >= mark(U103(X1,X2,X3)) ; U103(ok(X1),ok(X2),ok(X3)) >= ok(U103(X1,X2,X3)) ; isNatIListKind(ok(X)) >= ok(isNatIListKind(X)) ; U104(mark(X1),X2,X3) >= mark(U104(X1,X2,X3)) ; U104(ok(X1),ok(X2),ok(X3)) >= ok(U104(X1,X2,X3)) ; U105(mark(X1),X2) >= mark(U105(X1,X2)) ; U105(ok(X1),ok(X2)) >= ok(U105(X1,X2)) ; isNat(ok(X)) >= ok(isNat(X)) ; U106(mark(X)) >= mark(U106(X)) ; U106(ok(X)) >= ok(U106(X)) ; isNatIList(ok(X)) >= ok(isNatIList(X)) ; U12(mark(X1),X2) >= mark(U12(X1,X2)) ; U12(ok(X1),ok(X2)) >= ok(U12(X1,X2)) ; U11(mark(X1),X2) >= mark(U11(X1,X2)) ; U11(ok(X1),ok(X2)) >= ok(U11(X1,X2)) ; U112(mark(X1),X2,X3) >= mark(U112(X1,X2,X3)) ; U112(ok(X1),ok(X2),ok(X3)) >= ok(U112(X1,X2,X3)) ; U111(mark(X1),X2,X3) >= mark(U111(X1,X2,X3)) ; U111(ok(X1),ok(X2),ok(X3)) >= ok(U111(X1,X2,X3)) ; U113(mark(X1),X2,X3) >= mark(U113(X1,X2,X3)) ; U113(ok(X1),ok(X2),ok(X3)) >= ok(U113(X1,X2,X3)) ; U114(mark(X1),X2) >= mark(U114(X1,X2)) ; U114(ok(X1),ok(X2)) >= ok(U114(X1,X2)) ; s(mark(X)) >= mark(s(X)) ; s(ok(X)) >= ok(s(X)) ; length(mark(X)) >= mark(length(X)) ; length(ok(X)) >= ok(length(X)) ; U13(mark(X)) >= mark(U13(X)) ; U13(ok(X)) >= ok(U13(X)) ; isNatList(ok(X)) >= ok(isNatList(X)) ; U122(mark(X)) >= mark(U122(X)) ; U122(ok(X)) >= ok(U122(X)) ; U121(mark(X1),X2) >= mark(U121(X1,X2)) ; U121(ok(X1),ok(X2)) >= ok(U121(X1,X2)) ; U132(mark(X1),X2,X3,X4) >= mark(U132(X1,X2,X3,X4)) ; U132(ok(X1),ok(X2),ok(X3),ok(X4)) >= ok(U132(X1,X2,X3,X4)) ; U131(mark(X1),X2,X3,X4) >= mark(U131(X1,X2,X3,X4)) ; U131(ok(X1),ok(X2),ok(X3),ok(X4)) >= ok(U131(X1,X2,X3,X4)) ; U133(mark(X1),X2,X3,X4) >= mark(U133(X1,X2,X3,X4)) ; U133(ok(X1),ok(X2),ok(X3),ok(X4)) >= ok(U133(X1,X2,X3,X4)) ; U134(mark(X1),X2,X3,X4) >= mark(U134(X1,X2,X3,X4)) ; U134(ok(X1),ok(X2),ok(X3),ok(X4)) >= ok(U134(X1,X2,X3,X4)) ; U135(mark(X1),X2,X3,X4) >= mark(U135(X1,X2,X3,X4)) ; U135(ok(X1),ok(X2),ok(X3),ok(X4)) >= ok(U135(X1,X2,X3,X4)) ; U136(mark(X1),X2,X3,X4) >= mark(U136(X1,X2,X3,X4)) ; U136(ok(X1),ok(X2),ok(X3),ok(X4)) >= ok(U136(X1,X2,X3,X4)) ; take(mark(X1),X2) >= mark(take(X1,X2)) ; take(ok(X1),ok(X2)) >= ok(take(X1,X2)) ; take(X1,mark(X2)) >= mark(take(X1,X2)) ; U22(mark(X1),X2) >= mark(U22(X1,X2)) ; U22(ok(X1),ok(X2)) >= ok(U22(X1,X2)) ; U21(mark(X1),X2) >= mark(U21(X1,X2)) ; U21(ok(X1),ok(X2)) >= ok(U21(X1,X2)) ; U23(mark(X)) >= mark(U23(X)) ; U23(ok(X)) >= ok(U23(X)) ; U32(mark(X1),X2) >= mark(U32(X1,X2)) ; U32(ok(X1),ok(X2)) >= ok(U32(X1,X2)) ; U31(mark(X1),X2) >= mark(U31(X1,X2)) ; U31(ok(X1),ok(X2)) >= ok(U31(X1,X2)) ; U33(mark(X)) >= mark(U33(X)) ; U33(ok(X)) >= ok(U33(X)) ; U42(mark(X1),X2,X3) >= mark(U42(X1,X2,X3)) ; U42(ok(X1),ok(X2),ok(X3)) >= ok(U42(X1,X2,X3)) ; U41(mark(X1),X2,X3) >= mark(U41(X1,X2,X3)) ; U41(ok(X1),ok(X2),ok(X3)) >= ok(U41(X1,X2,X3)) ; U43(mark(X1),X2,X3) >= mark(U43(X1,X2,X3)) ; U43(ok(X1),ok(X2),ok(X3)) >= ok(U43(X1,X2,X3)) ; U44(mark(X1),X2,X3) >= mark(U44(X1,X2,X3)) ; U44(ok(X1),ok(X2),ok(X3)) >= ok(U44(X1,X2,X3)) ; U45(mark(X1),X2) >= mark(U45(X1,X2)) ; U45(ok(X1),ok(X2)) >= ok(U45(X1,X2)) ; U46(mark(X)) >= mark(U46(X)) ; U46(ok(X)) >= ok(U46(X)) ; U52(mark(X)) >= mark(U52(X)) ; U52(ok(X)) >= ok(U52(X)) ; U51(mark(X1),X2) >= mark(U51(X1,X2)) ; U51(ok(X1),ok(X2)) >= ok(U51(X1,X2)) ; U62(mark(X)) >= mark(U62(X)) ; U62(ok(X)) >= ok(U62(X)) ; U61(mark(X1),X2) >= mark(U61(X1,X2)) ; U61(ok(X1),ok(X2)) >= ok(U61(X1,X2)) ; U71(mark(X)) >= mark(U71(X)) ; U71(ok(X)) >= ok(U71(X)) ; U81(mark(X)) >= mark(U81(X)) ; U81(ok(X)) >= ok(U81(X)) ; U92(mark(X1),X2,X3) >= mark(U92(X1,X2,X3)) ; U92(ok(X1),ok(X2),ok(X3)) >= ok(U92(X1,X2,X3)) ; U91(mark(X1),X2,X3) >= mark(U91(X1,X2,X3)) ; U91(ok(X1),ok(X2),ok(X3)) >= ok(U91(X1,X2,X3)) ; U93(mark(X1),X2,X3) >= mark(U93(X1,X2,X3)) ; U93(ok(X1),ok(X2),ok(X3)) >= ok(U93(X1,X2,X3)) ; U94(mark(X1),X2,X3) >= mark(U94(X1,X2,X3)) ; U94(ok(X1),ok(X2),ok(X3)) >= ok(U94(X1,X2,X3)) ; U95(mark(X1),X2) >= mark(U95(X1,X2)) ; U95(ok(X1),ok(X2)) >= ok(U95(X1,X2)) ; U96(mark(X)) >= mark(U96(X)) ; U96(ok(X)) >= ok(U96(X)) ; proper(cons(X1,X2)) >= cons(proper(X1),proper(X2)) ; proper(0) >= ok(0) ; proper(zeros) >= ok(zeros) ; proper(U102(X1,X2,X3)) >= U102(proper(X1),proper(X2),proper(X3)) ; proper(isNatKind(X)) >= isNatKind(proper(X)) ; proper(U101(X1,X2,X3)) >= U101(proper(X1),proper(X2),proper(X3)) ; proper(tt) >= ok(tt) ; proper(U103(X1,X2,X3)) >= U103(proper(X1),proper(X2),proper(X3)) ; proper(isNatIListKind(X)) >= isNatIListKind(proper(X)) ; proper(U104(X1,X2,X3)) >= U104(proper(X1),proper(X2),proper(X3)) ; proper(U105(X1,X2)) >= U105(proper(X1),proper(X2)) ; proper(isNat(X)) >= isNat(proper(X)) ; proper(U106(X)) >= U106(proper(X)) ; proper(isNatIList(X)) >= isNatIList(proper(X)) ; proper(U12(X1,X2)) >= U12(proper(X1),proper(X2)) ; proper(U11(X1,X2)) >= U11(proper(X1),proper(X2)) ; proper(U112(X1,X2,X3)) >= U112(proper(X1),proper(X2),proper(X3)) ; proper(U111(X1,X2,X3)) >= U111(proper(X1),proper(X2),proper(X3)) ; proper(U113(X1,X2,X3)) >= U113(proper(X1),proper(X2),proper(X3)) ; proper(U114(X1,X2)) >= U114(proper(X1),proper(X2)) ; proper(s(X)) >= s(proper(X)) ; proper(length(X)) >= length(proper(X)) ; proper(U13(X)) >= U13(proper(X)) ; proper(isNatList(X)) >= isNatList(proper(X)) ; proper(U122(X)) >= U122(proper(X)) ; proper(U121(X1,X2)) >= U121(proper(X1),proper(X2)) ; proper(nil) >= ok(nil) ; proper(U132(X1,X2,X3,X4)) >= U132(proper(X1),proper(X2),proper(X3), proper(X4)) ; proper(U131(X1,X2,X3,X4)) >= U131(proper(X1),proper(X2),proper(X3), proper(X4)) ; proper(U133(X1,X2,X3,X4)) >= U133(proper(X1),proper(X2),proper(X3), proper(X4)) ; proper(U134(X1,X2,X3,X4)) >= U134(proper(X1),proper(X2),proper(X3), proper(X4)) ; proper(U135(X1,X2,X3,X4)) >= U135(proper(X1),proper(X2),proper(X3), proper(X4)) ; proper(U136(X1,X2,X3,X4)) >= U136(proper(X1),proper(X2),proper(X3), proper(X4)) ; proper(take(X1,X2)) >= take(proper(X1),proper(X2)) ; proper(U22(X1,X2)) >= U22(proper(X1),proper(X2)) ; proper(U21(X1,X2)) >= U21(proper(X1),proper(X2)) ; proper(U23(X)) >= U23(proper(X)) ; proper(U32(X1,X2)) >= U32(proper(X1),proper(X2)) ; proper(U31(X1,X2)) >= U31(proper(X1),proper(X2)) ; proper(U33(X)) >= U33(proper(X)) ; proper(U42(X1,X2,X3)) >= U42(proper(X1),proper(X2),proper(X3)) ; proper(U41(X1,X2,X3)) >= U41(proper(X1),proper(X2),proper(X3)) ; proper(U43(X1,X2,X3)) >= U43(proper(X1),proper(X2),proper(X3)) ; proper(U44(X1,X2,X3)) >= U44(proper(X1),proper(X2),proper(X3)) ; proper(U45(X1,X2)) >= U45(proper(X1),proper(X2)) ; proper(U46(X)) >= U46(proper(X)) ; proper(U52(X)) >= U52(proper(X)) ; proper(U51(X1,X2)) >= U51(proper(X1),proper(X2)) ; proper(U62(X)) >= U62(proper(X)) ; proper(U61(X1,X2)) >= U61(proper(X1),proper(X2)) ; proper(U71(X)) >= U71(proper(X)) ; proper(U81(X)) >= U81(proper(X)) ; proper(U92(X1,X2,X3)) >= U92(proper(X1),proper(X2),proper(X3)) ; proper(U91(X1,X2,X3)) >= U91(proper(X1),proper(X2),proper(X3)) ; proper(U93(X1,X2,X3)) >= U93(proper(X1),proper(X2),proper(X3)) ; proper(U94(X1,X2,X3)) >= U94(proper(X1),proper(X2),proper(X3)) ; proper(U95(X1,X2)) >= U95(proper(X1),proper(X2)) ; proper(U96(X)) >= U96(proper(X)) ; top(mark(X)) >= top(proper(X)) ; top(ok(X)) >= top(active(X)) ; Marked_top(mark(X)) > Marked_top(proper(X)) ; Marked_top(ok(X)) > Marked_top(active(X)) ; } + Disjunctions:{ } === TIMER virtual : 10.000000 === Entering poly_solver Starting Sat solver initialization Calling Sat solver... === STOPING TIMER virtual === === TIMER real : 10.000000 === === STOPING TIMER real === Sat solver returned === STOPING TIMER real === === STOPING TIMER virtual === No solution found for these parameters. Entering rpo_solver === TIMER virtual : 25.000000 === Search parameters: AFS type: 2 ; time limit: 25.. === STOPING TIMER virtual === Time out for these parameters. === TIMER virtual : 15.000000 === Entering poly_solver Starting Sat solver initialization Calling Sat solver... === STOPING TIMER virtual === === TIMER real : 15.000000 === === STOPING TIMER real === Sat solver returned === STOPING TIMER real === === STOPING TIMER virtual === No solution found for these parameters. === TIMER virtual : 50.000000 === trying sub matrices of size: 1 Matrix interpretation constraints generated. Search parameters: LINEAR MATRIX 3x3 (strict=1x1) ; time limit: 50.. Termination constraints generated. Starting Sat solver initialization Calling Sat solver... === STOPING TIMER virtual === === TIMER real : 50.000000 === === STOPING TIMER real === Sat timeout reached === STOPING TIMER virtual === No solution found for these parameters. No solution found for these constraints. APPLY CRITERIA (ID_CRIT) NOT SOLVED No proof found Cime worked for 198.971980 seconds (real time) Cime Exit Status: 0