%------------------------------------------------------------------------------ % File : CARINE---0.734 % Problem : SET005-1 : TPTP v5.0.0. Released v1.0.0. % Transfm : add_equality % Format : carine % Command : carine %s t=%d xo=off uct=32000 % Computer : art11.cs.miami.edu % Model : i686 i686 % CPU : Intel(R) Pentium(R) 4 CPU 3.00GHz @ 3000MHz % Memory : 2006MB % OS : Linux 2.6.31.5-127.fc12.i686.PAE % CPULimit : 300s % DateTime : Sun Nov 28 04:48:25 EST 2010 % Result : Unsatisfiable 7.09s % Output : Refutation 7.09s % Verified : % SZS Type : None (Parsing solution fails) % Syntax : Number of formulae : 0 % Comments : %------------------------------------------------------------------------------ %----ERROR: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % Command entered: % /home/graph/tptp/Systems/CARINE---0.734/carine /tmp/SystemOnTPTP19015/SET/SET005-1+noeq.car t=300 xo=off uct=32000 % CARINE version 0.734 (Dec 2003) % Initializing tables ... done. % Parsing ................ done. % Calculating time slices ... done. % Building Lookup Tables ... done. % Looking for a proof at depth = 1 ... % t = 0 secs [nr = 9] [nf = 0] [nu = 0] [ut = 4] % Looking for a proof at depth = 2 ... % t = 0 secs [nr = 79] [nf = 13] [nu = 3] [ut = 6] % Looking for a proof at depth = 3 ... % t = 0 secs [nr = 525] [nf = 90] [nu = 32] [ut = 6] % Looking for a proof at depth = 4 ... % t = 0 secs [nr = 3114] [nf = 423] [nu = 237] [ut = 12] % Looking for a proof at depth = 5 ... % t = 0 secs [nr = 16407] [nf = 2128] [nu = 936] [ut = 12] % Looking for a proof at depth = 6 ... % t = 0 secs [nr = 100661] [nf = 10602] [nu = 4849] [ut = 16] % Looking for a proof at depth = 7 ... % t = 1 secs [nr = 588450] [nf = 58282] [nu = 34577] [ut = 27] % Looking for a proof at depth = 8 ... % +================================================+ % | | % | Congratulations!!! ........ A proof was found. | % | | % +================================================+ % Base Clauses and Unit Clauses used in proof: % ============================================ % Base Clauses: % ------------- % B0: ~intersection_3(aIb_0(),c_0(),aIbIc_0()) % B1: intersection_3(a_0(),b_0(),aIb_0()) % B2: intersection_3(a_0(),bIc_0(),aIbIc_0()) % B3: intersection_3(b_0(),c_0(),bIc_0()) % B6: member_2(member_of_1_not_of_2_2(x0,x1),x0) | subset_2(x0,x1) % B7: ~member_2(member_of_1_not_of_2_2(x0,x1),x1) | subset_2(x0,x1) % B9: ~member_2(x3,x2) | ~intersection_3(x0,x1,x2) | member_2(x3,x1) % B11: member_2(h_3(x0,x1,x2),x2) | member_2(h_3(x0,x1,x2),x0) | intersection_3(x0,x1,x2) % B12: member_2(h_3(x0,x1,x2),x2) | member_2(h_3(x0,x1,x2),x1) | intersection_3(x0,x1,x2) % B13: ~subset_2(x1,x0) | ~subset_2(x0,x1) | equal_sets_2(x1,x0) % B14: ~member_2(x3,x0) | ~member_2(x3,x1) | ~intersection_3(x0,x1,x2) | member_2(x3,x2) % B15: ~member_2(h_3(x0,x1,x2),x0) | ~member_2(h_3(x0,x1,x2),x1) | ~member_2(h_3(x0,x1,x2),x2) | intersection_3(x0,x1,x2) % Unit Clauses: % -------------- % U0: < d0 v0 dv0 f0 c3 t3 td1 b nc > ~intersection_3(aIb_0(),c_0(),aIbIc_0()) % U1: < d0 v0 dv0 f0 c3 t3 td1 b > intersection_3(a_0(),b_0(),aIb_0()) % U2: < d0 v0 dv0 f0 c3 t3 td1 b > intersection_3(a_0(),bIc_0(),aIbIc_0()) % U3: < d0 v0 dv0 f0 c3 t3 td1 b > intersection_3(b_0(),c_0(),bIc_0()) % U4: < d2 v2 dv1 f0 c0 t2 td1 > subset_2(x0,x0) % U5: < d2 v2 dv1 f0 c0 t2 td1 > equal_sets_2(x0,x0) % U12: < d6 v0 dv0 f1 c4 t5 td2 > member_2(h_3(aIb_0(),c_0(),aIbIc_0()),a_0()) % U13: < d6 v0 dv0 f1 c4 t5 td2 > member_2(h_3(aIb_0(),c_0(),aIbIc_0()),c_0()) % U14: < d6 v0 dv0 f0 c2 t2 td1 > subset_2(aIbIc_0(),b_0()) % U22: < d7 v0 dv0 f1 c4 t5 td2 > member_2(h_3(aIb_0(),c_0(),aIbIc_0()),aIb_0()) % U24: < d7 v0 dv0 f1 c4 t5 td2 > member_2(h_3(aIb_0(),c_0(),aIbIc_0()),bIc_0()) % U37: < d8 v0 dv0 f1 c4 t5 td2 > ~member_2(h_3(aIb_0(),c_0(),aIbIc_0()),aIbIc_0()) % U173: < d8 v0 dv0 f1 c4 t5 td2 > member_2(h_3(aIb_0(),c_0(),aIbIc_0()),aIbIc_0()) % --------------- Start of Proof --------------- % Derivation of unit clause U0: % ~intersection_3(aIb_0(),c_0(),aIbIc_0()) ....... U0 % Derivation of unit clause U1: % intersection_3(a_0(),b_0(),aIb_0()) ....... U1 % Derivation of unit clause U2: % intersection_3(a_0(),bIc_0(),aIbIc_0()) ....... U2 % Derivation of unit clause U3: % intersection_3(b_0(),c_0(),bIc_0()) ....... U3 % Derivation of unit clause U4: % member_2(member_of_1_not_of_2_2(x0,x1),x0) | subset_2(x0,x1) ....... B6 % ~member_2(member_of_1_not_of_2_2(x0,x1),x1) | subset_2(x0,x1) ....... B7 % subset_2(x0, x0) | subset_2(x0, x0) ....... R1 [B6:L0, B7:L0] % subset_2(x0, x0) ....... R2 [R1:L0, R1:L1] % Derivation of unit clause U5: % ~subset_2(x1,x0) | ~subset_2(x0,x1) | equal_sets_2(x1,x0) ....... B13 % ~subset_2(x0, x0) | equal_sets_2(x0, x0) ....... R1 [B13:L0, B13:L1] % subset_2(x0,x0) ....... U4 % equal_sets_2(x0, x0) ....... R2 [R1:L0, U4:L0] % Derivation of unit clause U12: % ~intersection_3(aIb_0(),c_0(),aIbIc_0()) ....... B0 % member_2(h_3(x0,x1,x2),x2) | member_2(h_3(x0,x1,x2),x0) | intersection_3(x0,x1,x2) ....... B11 % member_2(h_3(aIb_0(), c_0(), aIbIc_0()), aIbIc_0()) | member_2(h_3(aIb_0(), c_0(), aIbIc_0()), aIb_0()) ....... R1 [B0:L0, B11:L2] % ~member_2(x3,x2) | ~intersection_3(x0,x1,x2) | member_2(x3,x0) ....... B8 % member_2(h_3(aIb_0(), c_0(), aIbIc_0()), aIb_0()) | ~intersection_3(x0, x1, aIbIc_0()) | member_2(h_3(aIb_0(), c_0(), aIbIc_0()), x0) ....... R2 [R1:L0, B8:L0] % intersection_3(a_0(),bIc_0(),aIbIc_0()) ....... U2 % member_2(h_3(aIb_0(), c_0(), aIbIc_0()), aIb_0()) | member_2(h_3(aIb_0(), c_0(), aIbIc_0()), a_0()) ....... R3 [R2:L1, U2:L0] % ~member_2(x3,x2) | ~intersection_3(x0,x1,x2) | member_2(x3,x0) ....... B8 % member_2(h_3(aIb_0(), c_0(), aIbIc_0()), a_0()) | ~intersection_3(x0, x1, aIb_0()) | member_2(h_3(aIb_0(), c_0(), aIbIc_0()), x0) ....... R4 [R3:L0, B8:L0] % ~intersection_3(a_0(), x0, aIb_0()) | member_2(h_3(aIb_0(), c_0(), aIbIc_0()), a_0()) ....... R5 [R4:L0, R4:L2] % intersection_3(a_0(),b_0(),aIb_0()) ....... U1 % member_2(h_3(aIb_0(), c_0(), aIbIc_0()), a_0()) ....... R6 [R5:L0, U1:L0] % Derivation of unit clause U13: % ~intersection_3(aIb_0(),c_0(),aIbIc_0()) ....... B0 % member_2(h_3(x0,x1,x2),x2) | member_2(h_3(x0,x1,x2),x1) | intersection_3(x0,x1,x2) ....... B12 % member_2(h_3(aIb_0(), c_0(), aIbIc_0()), aIbIc_0()) | member_2(h_3(aIb_0(), c_0(), aIbIc_0()), c_0()) ....... R1 [B0:L0, B12:L2] % ~member_2(x3,x2) | ~intersection_3(x0,x1,x2) | member_2(x3,x1) ....... B9 % member_2(h_3(aIb_0(), c_0(), aIbIc_0()), c_0()) | ~intersection_3(x0, x1, aIbIc_0()) | member_2(h_3(aIb_0(), c_0(), aIbIc_0()), x1) ....... R2 [R1:L0, B9:L0] % intersection_3(a_0(),bIc_0(),aIbIc_0()) ....... U2 % member_2(h_3(aIb_0(), c_0(), aIbIc_0()), c_0()) | member_2(h_3(aIb_0(), c_0(), aIbIc_0()), bIc_0()) ....... R3 [R2:L1, U2:L0] % ~member_2(x3,x2) | ~intersection_3(x0,x1,x2) | member_2(x3,x1) ....... B9 % member_2(h_3(aIb_0(), c_0(), aIbIc_0()), c_0()) | ~intersection_3(x0, x1, bIc_0()) | member_2(h_3(aIb_0(), c_0(), aIbIc_0()), x1) ....... R4 [R3:L1, B9:L0] % ~intersection_3(x0, c_0(), bIc_0()) | member_2(h_3(aIb_0(), c_0(), aIbIc_0()), c_0()) ....... R5 [R4:L0, R4:L2] % intersection_3(b_0(),c_0(),bIc_0()) ....... U3 % member_2(h_3(aIb_0(), c_0(), aIbIc_0()), c_0()) ....... R6 [R5:L0, U3:L0] % Derivation of unit clause U14: % intersection_3(a_0(),bIc_0(),aIbIc_0()) ....... B2 % ~member_2(x3,x2) | ~intersection_3(x0,x1,x2) | member_2(x3,x1) ....... B9 % ~member_2(x0, aIbIc_0()) | member_2(x0, bIc_0()) ....... R1 [B2:L0, B9:L1] % member_2(member_of_1_not_of_2_2(x0,x1),x0) | subset_2(x0,x1) ....... B6 % member_2(member_of_1_not_of_2_2(aIbIc_0(), x0), bIc_0()) | subset_2(aIbIc_0(), x0) ....... R2 [R1:L0, B6:L0] % ~member_2(x3,x2) | ~intersection_3(x0,x1,x2) | member_2(x3,x0) ....... B8 % subset_2(aIbIc_0(), x0) | ~intersection_3(x1, x2, bIc_0()) | member_2(member_of_1_not_of_2_2(aIbIc_0(), x0), x1) ....... R3 [R2:L0, B8:L0] % intersection_3(b_0(),c_0(),bIc_0()) ....... U3 % subset_2(aIbIc_0(), x0) | member_2(member_of_1_not_of_2_2(aIbIc_0(), x0), b_0()) ....... R4 [R3:L1, U3:L0] % ~member_2(member_of_1_not_of_2_2(x0,x1),x1) | subset_2(x0,x1) ....... B7 % subset_2(aIbIc_0(), b_0()) | subset_2(aIbIc_0(), b_0()) ....... R5 [R4:L1, B7:L0] % subset_2(aIbIc_0(), b_0()) ....... R6 [R5:L0, R5:L1] % Derivation of unit clause U22: % intersection_3(a_0(),b_0(),aIb_0()) ....... B1 % ~member_2(x3,x0) | ~member_2(x3,x1) | ~intersection_3(x0,x1,x2) | member_2(x3,x2) ....... B14 % ~member_2(x0, a_0()) | ~member_2(x0, b_0()) | member_2(x0, aIb_0()) ....... R1 [B1:L0, B14:L2] % member_2(h_3(aIb_0(),c_0(),aIbIc_0()),a_0()) ....... U12 % ~member_2(h_3(aIb_0(), c_0(), aIbIc_0()), b_0()) | member_2(h_3(aIb_0(), c_0(), aIbIc_0()), aIb_0()) ....... R2 [R1:L0, U12:L0] % ~member_2(x0,x1) | ~subset_2(x1,x2) | member_2(x0,x2) ....... B10 % member_2(h_3(aIb_0(), c_0(), aIbIc_0()), aIb_0()) | ~member_2(h_3(aIb_0(), c_0(), aIbIc_0()), x0) | ~subset_2(x0, b_0()) ....... R3 [R2:L0, B10:L2] % subset_2(aIbIc_0(),b_0()) ....... U14 % member_2(h_3(aIb_0(), c_0(), aIbIc_0()), aIb_0()) | ~member_2(h_3(aIb_0(), c_0(), aIbIc_0()), aIbIc_0()) ....... R4 [R3:L2, U14:L0] % member_2(h_3(x0,x1,x2),x2) | member_2(h_3(x0,x1,x2),x0) | intersection_3(x0,x1,x2) ....... B11 % member_2(h_3(aIb_0(), c_0(), aIbIc_0()), aIb_0()) | member_2(h_3(aIb_0(), c_0(), aIbIc_0()), aIb_0()) | intersection_3(aIb_0(), c_0(), aIbIc_0()) ....... R5 [R4:L1, B11:L0] % member_2(h_3(aIb_0(), c_0(), aIbIc_0()), aIb_0()) | intersection_3(aIb_0(), c_0(), aIbIc_0()) ....... R6 [R5:L0, R5:L1] % ~intersection_3(aIb_0(),c_0(),aIbIc_0()) ....... U0 % member_2(h_3(aIb_0(), c_0(), aIbIc_0()), aIb_0()) ....... R7 [R6:L1, U0:L0] % Derivation of unit clause U24: % intersection_3(b_0(),c_0(),bIc_0()) ....... B3 % ~member_2(x3,x0) | ~member_2(x3,x1) | ~intersection_3(x0,x1,x2) | member_2(x3,x2) ....... B14 % ~member_2(x0, b_0()) | ~member_2(x0, c_0()) | member_2(x0, bIc_0()) ....... R1 [B3:L0, B14:L2] % member_2(h_3(aIb_0(),c_0(),aIbIc_0()),c_0()) ....... U13 % ~member_2(h_3(aIb_0(), c_0(), aIbIc_0()), b_0()) | member_2(h_3(aIb_0(), c_0(), aIbIc_0()), bIc_0()) ....... R2 [R1:L1, U13:L0] % ~member_2(x3,x2) | ~intersection_3(x0,x1,x2) | member_2(x3,x1) ....... B9 % member_2(h_3(aIb_0(), c_0(), aIbIc_0()), bIc_0()) | ~member_2(h_3(aIb_0(), c_0(), aIbIc_0()), x0) | ~intersection_3(x1, b_0(), x0) ....... R3 [R2:L0, B9:L2] % member_2(h_3(aIb_0(),c_0(),aIbIc_0()),aIb_0()) ....... U22 % member_2(h_3(aIb_0(), c_0(), aIbIc_0()), bIc_0()) | ~intersection_3(x0, b_0(), aIb_0()) ....... R4 [R3:L1, U22:L0] % ~member_2(x0,x1) | ~subset_2(x1,x2) | member_2(x0,x2) ....... B10 % ~intersection_3(x0, b_0(), aIb_0()) | ~subset_2(bIc_0(), x1) | member_2(h_3(aIb_0(), c_0(), aIbIc_0()), x1) ....... R5 [R4:L0, B10:L0] % intersection_3(a_0(),b_0(),aIb_0()) ....... U1 % ~subset_2(bIc_0(), x0) | member_2(h_3(aIb_0(), c_0(), aIbIc_0()), x0) ....... R6 [R5:L0, U1:L0] % subset_2(x0,x0) ....... U4 % member_2(h_3(aIb_0(), c_0(), aIbIc_0()), bIc_0()) ....... R7 [R6:L0, U4:L0] % Derivation of unit clause U37: % ~intersection_3(aIb_0(),c_0(),aIbIc_0()) ....... B0 % ~member_2(h_3(x0,x1,x2),x0) | ~member_2(h_3(x0,x1,x2),x1) | ~member_2(h_3(x0,x1,x2),x2) | intersection_3(x0,x1,x2) ....... B15 % ~member_2(h_3(aIb_0(), c_0(), aIbIc_0()), aIb_0()) | ~member_2(h_3(aIb_0(), c_0(), aIbIc_0()), c_0()) | ~member_2(h_3(aIb_0(), c_0(), aIbIc_0()), aIbIc_0()) ....... R1 [B0:L0, B15:L3] % member_2(h_3(aIb_0(),c_0(),aIbIc_0()),aIb_0()) ....... U22 % ~member_2(h_3(aIb_0(), c_0(), aIbIc_0()), c_0()) | ~member_2(h_3(aIb_0(), c_0(), aIbIc_0()), aIbIc_0()) ....... R2 [R1:L0, U22:L0] % ~member_2(x3,x2) | ~intersection_3(x0,x1,x2) | member_2(x3,x1) ....... B9 % ~member_2(h_3(aIb_0(), c_0(), aIbIc_0()), aIbIc_0()) | ~member_2(h_3(aIb_0(), c_0(), aIbIc_0()), x0) | ~intersection_3(x1, c_0(), x0) ....... R3 [R2:L0, B9:L2] % member_2(h_3(aIb_0(),c_0(),aIbIc_0()),bIc_0()) ....... U24 % ~member_2(h_3(aIb_0(), c_0(), aIbIc_0()), aIbIc_0()) | ~intersection_3(x0, c_0(), bIc_0()) ....... R4 [R3:L1, U24:L0] % ~member_2(x0,x1) | ~subset_2(x1,x2) | member_2(x0,x2) ....... B10 % ~intersection_3(x0, c_0(), bIc_0()) | ~member_2(h_3(aIb_0(), c_0(), aIbIc_0()), x1) | ~subset_2(x1, aIbIc_0()) ....... R5 [R4:L0, B10:L2] % intersection_3(b_0(),c_0(),bIc_0()) ....... U3 % ~member_2(h_3(aIb_0(), c_0(), aIbIc_0()), x0) | ~subset_2(x0, aIbIc_0()) ....... R6 [R5:L0, U3:L0] % ~equal_sets_2(x0,x1) | subset_2(x0,x1) ....... B4 % ~member_2(h_3(aIb_0(), c_0(), aIbIc_0()), x0) | ~equal_sets_2(x0, aIbIc_0()) ....... R7 [R6:L1, B4:L1] % equal_sets_2(x0,x0) ....... U5 % ~member_2(h_3(aIb_0(), c_0(), aIbIc_0()), aIbIc_0()) ....... R8 [R7:L1, U5:L0] % Derivation of unit clause U173: % intersection_3(a_0(),bIc_0(),aIbIc_0()) ....... B2 % ~member_2(x3,x0) | ~member_2(x3,x1) | ~intersection_3(x0,x1,x2) | member_2(x3,x2) ....... B14 % ~member_2(x0, a_0()) | ~member_2(x0, bIc_0()) | member_2(x0, aIbIc_0()) ....... R1 [B2:L0, B14:L2] % member_2(h_3(aIb_0(),c_0(),aIbIc_0()),a_0()) ....... U12 % ~member_2(h_3(aIb_0(), c_0(), aIbIc_0()), bIc_0()) | member_2(h_3(aIb_0(), c_0(), aIbIc_0()), aIbIc_0()) ....... R2 [R1:L0, U12:L0] % ~member_2(x0,x1) | ~subset_2(x1,x2) | member_2(x0,x2) ....... B10 % ~member_2(h_3(aIb_0(), c_0(), aIbIc_0()), bIc_0()) | ~subset_2(aIbIc_0(), x0) | member_2(h_3(aIb_0(), c_0(), aIbIc_0()), x0) ....... R3 [R2:L1, B10:L0] % member_2(h_3(aIb_0(),c_0(),aIbIc_0()),bIc_0()) ....... U24 % ~subset_2(aIbIc_0(), x0) | member_2(h_3(aIb_0(), c_0(), aIbIc_0()), x0) ....... R4 [R3:L0, U24:L0] % ~equal_sets_2(x0,x1) | subset_2(x0,x1) ....... B4 % member_2(h_3(aIb_0(), c_0(), aIbIc_0()), x0) | ~equal_sets_2(aIbIc_0(), x0) ....... R5 [R4:L0, B4:L1] % ~member_2(x0,x1) | ~subset_2(x1,x2) | member_2(x0,x2) ....... B10 % ~equal_sets_2(aIbIc_0(), x0) | ~subset_2(x0, x1) | member_2(h_3(aIb_0(), c_0(), aIbIc_0()), x1) ....... R6 [R5:L0, B10:L0] % equal_sets_2(x0,x0) ....... U5 % ~subset_2(aIbIc_0(), x0) | member_2(h_3(aIb_0(), c_0(), aIbIc_0()), x0) ....... R7 [R6:L0, U5:L0] % subset_2(x0,x0) ....... U4 % member_2(h_3(aIb_0(), c_0(), aIbIc_0()), aIbIc_0()) ....... R8 [R7:L0, U4:L0] % Derivation of the empty clause: % member_2(h_3(aIb_0(),c_0(),aIbIc_0()),aIbIc_0()) ....... U173 % ~member_2(h_3(aIb_0(),c_0(),aIbIc_0()),aIbIc_0()) ....... U37 % [] ....... R1 [U173:L0, U37:L0] % --------------- End of Proof --------------- % PROOF FOUND! % --------------------------------------------- % | Statistics | % --------------------------------------------- % Profile 3: Performance Statistics: % ================================== % Total number of generated clauses: 2179229 % resolvents: 1952562 factors: 226667 % Number of unit clauses generated: 112417 % % unit clauses generated to total clauses generated: 5.16 % Number of unit clauses constructed and retained at depth [x]: % ============================================================= % [0] = 4 [2] = 2 [4] = 6 [6] = 4 [7] = 11 % [8] = 147 % Total = 174 % Number of generated clauses having [x] literals: % ------------------------------------------------ % [1] = 112417 [2] = 1017275 [3] = 1049537 % Average size of a generated clause: 3.0 % Number of unit clauses per predicate list: % ========================================== % [0] equal_sets_2 (+)1 (-)10 % [1] member_2 (+)93 (-)6 % [2] subset_2 (+)9 (-)5 % [3] intersection_3 (+)3 (-)47 % ------------------ % Total: (+)106 (-)68 % Total number of unit clauses retained: 174 % Number of clauses skipped because of their length: 3227285 % N base clauses skippped in resolve-with-all-base-clauses % because of the shortest resolvents table: 200133 % Number of successful unifications: 2179281 % Number of unification failures: 15885556 % Number of unit to unit unification failures: 748 % N literal unification failure due to lookup root_id table: 9582551 % N base clause resolution failure due to lookup table: 3504068 % N UC-BCL resolution dropped due to lookup table: 0 % Max entries in substitution set: 18 % N unit clauses dropped because they exceeded max values: 84448 % N unit clauses dropped because too much nesting: 0 % N unit clauses not constrcuted because table was full: 0 % N unit clauses dropped because UCFA table was full: 0 % Max number of terms in a unit clause: 5 % Max term depth in a unit clause: 2 % Number of states in UCFA table: 147 % Total number of terms of all unit clauses in table: 681 % Max allowed number of states in UCFA: 80000 % Ratio n states used/total allowed states: 0.00 % Ratio n states used/total unit clauses terms: 0.22 % Number of symbols (columns) in UCFA: 46 % Profile 2: Number of calls to: % ============================== % PTUnify() = 18064837 % ConstructUnitClause() = 84618 % Profile 1: Time spent in: % ========================= % ConstructUnitClause() : 0.13 secs % -------------------------------------------------------- % | | % Inferences per sec: 311318 % | | % -------------------------------------------------------- % Elapsed time: 7 secs % CPU time: 7.09 secs % %------------------------------------------------------------------------------