TSTP Solution File: NUM423+1 by SuperZenon---0.0.1

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : SuperZenon---0.0.1
% Problem  : NUM423+1 : TPTP v8.1.0. Released v4.0.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : run_super_zenon -p0 -itptp -om -max-time %d %s

% Computer : n008.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8042.1875MB
% OS       : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit  : 600s
% DateTime : Mon Jul 18 14:42:18 EDT 2022

% Result   : Theorem 260.78s 260.95s
% Output   : Proof 260.78s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.12  % Problem  : NUM423+1 : TPTP v8.1.0. Released v4.0.0.
% 0.07/0.13  % Command  : run_super_zenon -p0 -itptp -om -max-time %d %s
% 0.13/0.34  % Computer : n008.cluster.edu
% 0.13/0.34  % Model    : x86_64 x86_64
% 0.13/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.34  % Memory   : 8042.1875MB
% 0.13/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.13/0.34  % CPULimit : 300
% 0.13/0.34  % WCLimit  : 600
% 0.13/0.34  % DateTime : Tue Jul  5 11:56:23 EDT 2022
% 0.13/0.34  % CPUTime  : 
% 260.78/260.95  % SZS status Theorem
% 260.78/260.95  (* PROOF-FOUND *)
% 260.78/260.95  (* BEGIN-PROOF *)
% 260.78/260.95  % SZS output start Proof
% 260.78/260.95  1. (aInteger0 (xa)) (-. (aInteger0 (xa)))   ### Axiom
% 260.78/260.95  2. (aInteger0 (xa)) (-. (aInteger0 (xa)))   ### Axiom
% 260.78/260.95  3. (aInteger0 (xq)) (-. (aInteger0 (xq)))   ### Axiom
% 260.78/260.95  4. ((xq) != (sz00)) ((xq) = (sz00))   ### Axiom
% 260.78/260.95  5. (aInteger0 (xa)) (-. (aInteger0 (xa)))   ### Axiom
% 260.78/260.95  6. (aInteger0 (xa)) (-. (aInteger0 (xa)))   ### Axiom
% 260.78/260.95  7. (-. (aInteger0 (smndt0 (xa)))) (aInteger0 (smndt0 (xa)))   ### Axiom
% 260.78/260.95  8. ((aInteger0 (xa)) => (aInteger0 (smndt0 (xa)))) (-. (aInteger0 (smndt0 (xa)))) (aInteger0 (xa))   ### Imply 6 7
% 260.78/260.95  9. (All W0, ((aInteger0 W0) => (aInteger0 (smndt0 W0)))) (aInteger0 (xa)) (-. (aInteger0 (smndt0 (xa))))   ### All 8
% 260.78/260.95  10. (-. (aInteger0 (sdtpldt0 (xa) (smndt0 (xa))))) (aInteger0 (sdtpldt0 (xa) (smndt0 (xa))))   ### Axiom
% 260.78/260.95  11. (((aInteger0 (xa)) /\ (aInteger0 (smndt0 (xa)))) => (aInteger0 (sdtpldt0 (xa) (smndt0 (xa))))) (-. (aInteger0 (sdtpldt0 (xa) (smndt0 (xa))))) (All W0, ((aInteger0 W0) => (aInteger0 (smndt0 W0)))) (aInteger0 (xa))   ### DisjTree 5 9 10
% 260.78/260.95  12. (All W1, (((aInteger0 (xa)) /\ (aInteger0 W1)) => (aInteger0 (sdtpldt0 (xa) W1)))) (aInteger0 (xa)) (All W0, ((aInteger0 W0) => (aInteger0 (smndt0 W0)))) (-. (aInteger0 (sdtpldt0 (xa) (smndt0 (xa)))))   ### All 11
% 260.78/260.95  13. (All W0, (All W1, (((aInteger0 W0) /\ (aInteger0 W1)) => (aInteger0 (sdtpldt0 W0 W1))))) (-. (aInteger0 (sdtpldt0 (xa) (smndt0 (xa))))) (All W0, ((aInteger0 W0) => (aInteger0 (smndt0 W0)))) (aInteger0 (xa))   ### All 12
% 260.78/260.95  14. (aInteger0 (xq)) (-. (aInteger0 (xq)))   ### Axiom
% 260.78/260.95  15. ((xq) != (sz00)) ((xq) = (sz00))   ### Axiom
% 260.78/260.95  16. (aInteger0 (sz00)) (-. (aInteger0 (sz00)))   ### Axiom
% 260.78/260.95  17. (aInteger0 (xq)) (-. (aInteger0 (xq)))   ### Axiom
% 260.78/260.95  18. (aInteger0 (xa)) (-. (aInteger0 (xa)))   ### Axiom
% 260.78/260.95  19. ((sdtpldt0 (xa) (smndt0 (xa))) != (sdtpldt0 (xa) (smndt0 (xa))))   ### Refl(=)
% 260.78/260.95  20. ((sdtasdt0 (xq) (sz00)) = (sz00)) ((sz00) != (sdtasdt0 (xq) (sz00)))   ### Sym(=)
% 260.78/260.95  21. ((sdtasdt0 (xq) (sz00)) != (sdtpldt0 (xa) (smndt0 (xa)))) ((sdtpldt0 (xa) (smndt0 (xa))) = (sz00)) ((sdtasdt0 (xq) (sz00)) = (sz00))   ### Trans-sym 19 20
% 260.78/260.95  22. (((sdtpldt0 (xa) (smndt0 (xa))) = (sz00)) /\ ((sz00) = (sdtpldt0 (smndt0 (xa)) (xa)))) ((sdtasdt0 (xq) (sz00)) = (sz00)) ((sdtasdt0 (xq) (sz00)) != (sdtpldt0 (xa) (smndt0 (xa))))   ### And 21
% 260.78/260.95  23. ((aInteger0 (xa)) => (((sdtpldt0 (xa) (smndt0 (xa))) = (sz00)) /\ ((sz00) = (sdtpldt0 (smndt0 (xa)) (xa))))) ((sdtasdt0 (xq) (sz00)) != (sdtpldt0 (xa) (smndt0 (xa)))) ((sdtasdt0 (xq) (sz00)) = (sz00)) (aInteger0 (xa))   ### Imply 18 22
% 260.78/260.95  24. (All W0, ((aInteger0 W0) => (((sdtpldt0 W0 (smndt0 W0)) = (sz00)) /\ ((sz00) = (sdtpldt0 (smndt0 W0) W0))))) (aInteger0 (xa)) ((sdtasdt0 (xq) (sz00)) = (sz00)) ((sdtasdt0 (xq) (sz00)) != (sdtpldt0 (xa) (smndt0 (xa))))   ### All 23
% 260.78/260.95  25. (((sdtasdt0 (xq) (sz00)) = (sz00)) /\ ((sz00) = (sdtasdt0 (sz00) (xq)))) ((sdtasdt0 (xq) (sz00)) != (sdtpldt0 (xa) (smndt0 (xa)))) (aInteger0 (xa)) (All W0, ((aInteger0 W0) => (((sdtpldt0 W0 (smndt0 W0)) = (sz00)) /\ ((sz00) = (sdtpldt0 (smndt0 W0) W0)))))   ### And 24
% 260.78/260.95  26. ((aInteger0 (xq)) => (((sdtasdt0 (xq) (sz00)) = (sz00)) /\ ((sz00) = (sdtasdt0 (sz00) (xq))))) (All W0, ((aInteger0 W0) => (((sdtpldt0 W0 (smndt0 W0)) = (sz00)) /\ ((sz00) = (sdtpldt0 (smndt0 W0) W0))))) (aInteger0 (xa)) ((sdtasdt0 (xq) (sz00)) != (sdtpldt0 (xa) (smndt0 (xa)))) (aInteger0 (xq))   ### Imply 17 25
% 260.78/260.95  27. (All W0, ((aInteger0 W0) => (((sdtasdt0 W0 (sz00)) = (sz00)) /\ ((sz00) = (sdtasdt0 (sz00) W0))))) (aInteger0 (xq)) ((sdtasdt0 (xq) (sz00)) != (sdtpldt0 (xa) (smndt0 (xa)))) (aInteger0 (xa)) (All W0, ((aInteger0 W0) => (((sdtpldt0 W0 (smndt0 W0)) = (sz00)) /\ ((sz00) = (sdtpldt0 (smndt0 W0) W0)))))   ### All 26
% 260.78/260.95  28. (-. ((aInteger0 (sz00)) /\ ((sdtasdt0 (xq) (sz00)) = (sdtpldt0 (xa) (smndt0 (xa)))))) (All W0, ((aInteger0 W0) => (((sdtpldt0 W0 (smndt0 W0)) = (sz00)) /\ ((sz00) = (sdtpldt0 (smndt0 W0) W0))))) (aInteger0 (xa)) (aInteger0 (xq)) (All W0, ((aInteger0 W0) => (((sdtasdt0 W0 (sz00)) = (sz00)) /\ ((sz00) = (sdtasdt0 (sz00) W0))))) (aInteger0 (sz00))   ### NotAnd 16 27
% 260.78/260.95  29. (-. (Ex W2, ((aInteger0 W2) /\ ((sdtasdt0 (xq) W2) = (sdtpldt0 (xa) (smndt0 (xa))))))) (aInteger0 (sz00)) (All W0, ((aInteger0 W0) => (((sdtasdt0 W0 (sz00)) = (sz00)) /\ ((sz00) = (sdtasdt0 (sz00) W0))))) (aInteger0 (xq)) (aInteger0 (xa)) (All W0, ((aInteger0 W0) => (((sdtpldt0 W0 (smndt0 W0)) = (sz00)) /\ ((sz00) = (sdtpldt0 (smndt0 W0) W0)))))   ### NotExists 28
% 260.78/260.95  30. (-. ((aInteger0 (xq)) /\ (((xq) != (sz00)) /\ (Ex W2, ((aInteger0 W2) /\ ((sdtasdt0 (xq) W2) = (sdtpldt0 (xa) (smndt0 (xa))))))))) (All W0, ((aInteger0 W0) => (((sdtpldt0 W0 (smndt0 W0)) = (sz00)) /\ ((sz00) = (sdtpldt0 (smndt0 W0) W0))))) (aInteger0 (xa)) (All W0, ((aInteger0 W0) => (((sdtasdt0 W0 (sz00)) = (sz00)) /\ ((sz00) = (sdtasdt0 (sz00) W0))))) (aInteger0 (sz00)) ((xq) != (sz00)) (aInteger0 (xq))   ### DisjTree 14 15 29
% 260.78/260.95  31. (-. (aDivisorOf0 (xq) (sdtpldt0 (xa) (smndt0 (xa))))) (aDivisorOf0 (xq) (sdtpldt0 (xa) (smndt0 (xa))))   ### Axiom
% 260.78/260.95  32. ((aDivisorOf0 (xq) (sdtpldt0 (xa) (smndt0 (xa)))) <=> ((aInteger0 (xq)) /\ (((xq) != (sz00)) /\ (Ex W2, ((aInteger0 W2) /\ ((sdtasdt0 (xq) W2) = (sdtpldt0 (xa) (smndt0 (xa))))))))) (-. (aDivisorOf0 (xq) (sdtpldt0 (xa) (smndt0 (xa))))) (aInteger0 (xq)) ((xq) != (sz00)) (aInteger0 (sz00)) (All W0, ((aInteger0 W0) => (((sdtasdt0 W0 (sz00)) = (sz00)) /\ ((sz00) = (sdtasdt0 (sz00) W0))))) (aInteger0 (xa)) (All W0, ((aInteger0 W0) => (((sdtpldt0 W0 (smndt0 W0)) = (sz00)) /\ ((sz00) = (sdtpldt0 (smndt0 W0) W0)))))   ### Equiv 30 31
% 260.78/260.95  33. (All W1, ((aDivisorOf0 W1 (sdtpldt0 (xa) (smndt0 (xa)))) <=> ((aInteger0 W1) /\ ((W1 != (sz00)) /\ (Ex W2, ((aInteger0 W2) /\ ((sdtasdt0 W1 W2) = (sdtpldt0 (xa) (smndt0 (xa)))))))))) (All W0, ((aInteger0 W0) => (((sdtpldt0 W0 (smndt0 W0)) = (sz00)) /\ ((sz00) = (sdtpldt0 (smndt0 W0) W0))))) (aInteger0 (xa)) (All W0, ((aInteger0 W0) => (((sdtasdt0 W0 (sz00)) = (sz00)) /\ ((sz00) = (sdtasdt0 (sz00) W0))))) (aInteger0 (sz00)) ((xq) != (sz00)) (aInteger0 (xq)) (-. (aDivisorOf0 (xq) (sdtpldt0 (xa) (smndt0 (xa)))))   ### All 32
% 260.78/260.95  34. ((aInteger0 (sdtpldt0 (xa) (smndt0 (xa)))) => (All W1, ((aDivisorOf0 W1 (sdtpldt0 (xa) (smndt0 (xa)))) <=> ((aInteger0 W1) /\ ((W1 != (sz00)) /\ (Ex W2, ((aInteger0 W2) /\ ((sdtasdt0 W1 W2) = (sdtpldt0 (xa) (smndt0 (xa))))))))))) (-. (aDivisorOf0 (xq) (sdtpldt0 (xa) (smndt0 (xa))))) (aInteger0 (xq)) ((xq) != (sz00)) (aInteger0 (sz00)) (All W0, ((aInteger0 W0) => (((sdtasdt0 W0 (sz00)) = (sz00)) /\ ((sz00) = (sdtasdt0 (sz00) W0))))) (All W0, ((aInteger0 W0) => (((sdtpldt0 W0 (smndt0 W0)) = (sz00)) /\ ((sz00) = (sdtpldt0 (smndt0 W0) W0))))) (aInteger0 (xa)) (All W0, ((aInteger0 W0) => (aInteger0 (smndt0 W0)))) (All W0, (All W1, (((aInteger0 W0) /\ (aInteger0 W1)) => (aInteger0 (sdtpldt0 W0 W1)))))   ### Imply 13 33
% 260.78/260.95  35. (All W0, ((aInteger0 W0) => (All W1, ((aDivisorOf0 W1 W0) <=> ((aInteger0 W1) /\ ((W1 != (sz00)) /\ (Ex W2, ((aInteger0 W2) /\ ((sdtasdt0 W1 W2) = W0))))))))) (All W0, (All W1, (((aInteger0 W0) /\ (aInteger0 W1)) => (aInteger0 (sdtpldt0 W0 W1))))) (All W0, ((aInteger0 W0) => (aInteger0 (smndt0 W0)))) (aInteger0 (xa)) (All W0, ((aInteger0 W0) => (((sdtpldt0 W0 (smndt0 W0)) = (sz00)) /\ ((sz00) = (sdtpldt0 (smndt0 W0) W0))))) (All W0, ((aInteger0 W0) => (((sdtasdt0 W0 (sz00)) = (sz00)) /\ ((sz00) = (sdtasdt0 (sz00) W0))))) (aInteger0 (sz00)) ((xq) != (sz00)) (aInteger0 (xq)) (-. (aDivisorOf0 (xq) (sdtpldt0 (xa) (smndt0 (xa)))))   ### All 34
% 260.78/260.95  36. (-. (sdteqdtlpzmzozddtrp0 (xa) (xa) (xq))) (sdteqdtlpzmzozddtrp0 (xa) (xa) (xq))   ### Axiom
% 260.78/260.95  37. ((sdteqdtlpzmzozddtrp0 (xa) (xa) (xq)) <=> (aDivisorOf0 (xq) (sdtpldt0 (xa) (smndt0 (xa))))) (-. (sdteqdtlpzmzozddtrp0 (xa) (xa) (xq))) (aInteger0 (xq)) ((xq) != (sz00)) (aInteger0 (sz00)) (All W0, ((aInteger0 W0) => (((sdtasdt0 W0 (sz00)) = (sz00)) /\ ((sz00) = (sdtasdt0 (sz00) W0))))) (All W0, ((aInteger0 W0) => (((sdtpldt0 W0 (smndt0 W0)) = (sz00)) /\ ((sz00) = (sdtpldt0 (smndt0 W0) W0))))) (aInteger0 (xa)) (All W0, ((aInteger0 W0) => (aInteger0 (smndt0 W0)))) (All W0, (All W1, (((aInteger0 W0) /\ (aInteger0 W1)) => (aInteger0 (sdtpldt0 W0 W1))))) (All W0, ((aInteger0 W0) => (All W1, ((aDivisorOf0 W1 W0) <=> ((aInteger0 W1) /\ ((W1 != (sz00)) /\ (Ex W2, ((aInteger0 W2) /\ ((sdtasdt0 W1 W2) = W0)))))))))   ### Equiv 35 36
% 260.78/260.96  38. (((aInteger0 (xa)) /\ ((aInteger0 (xa)) /\ ((aInteger0 (xq)) /\ ((xq) != (sz00))))) => ((sdteqdtlpzmzozddtrp0 (xa) (xa) (xq)) <=> (aDivisorOf0 (xq) (sdtpldt0 (xa) (smndt0 (xa)))))) (All W0, ((aInteger0 W0) => (All W1, ((aDivisorOf0 W1 W0) <=> ((aInteger0 W1) /\ ((W1 != (sz00)) /\ (Ex W2, ((aInteger0 W2) /\ ((sdtasdt0 W1 W2) = W0))))))))) (All W0, (All W1, (((aInteger0 W0) /\ (aInteger0 W1)) => (aInteger0 (sdtpldt0 W0 W1))))) (All W0, ((aInteger0 W0) => (aInteger0 (smndt0 W0)))) (All W0, ((aInteger0 W0) => (((sdtpldt0 W0 (smndt0 W0)) = (sz00)) /\ ((sz00) = (sdtpldt0 (smndt0 W0) W0))))) (All W0, ((aInteger0 W0) => (((sdtasdt0 W0 (sz00)) = (sz00)) /\ ((sz00) = (sdtasdt0 (sz00) W0))))) (aInteger0 (sz00)) (-. (sdteqdtlpzmzozddtrp0 (xa) (xa) (xq))) ((xq) != (sz00)) (aInteger0 (xq)) (aInteger0 (xa))   ### DisjTree 1 2 3 4 37
% 260.78/260.96  39. (All W2, (((aInteger0 (xa)) /\ ((aInteger0 (xa)) /\ ((aInteger0 W2) /\ (W2 != (sz00))))) => ((sdteqdtlpzmzozddtrp0 (xa) (xa) W2) <=> (aDivisorOf0 W2 (sdtpldt0 (xa) (smndt0 (xa))))))) (aInteger0 (xa)) (aInteger0 (xq)) ((xq) != (sz00)) (-. (sdteqdtlpzmzozddtrp0 (xa) (xa) (xq))) (aInteger0 (sz00)) (All W0, ((aInteger0 W0) => (((sdtasdt0 W0 (sz00)) = (sz00)) /\ ((sz00) = (sdtasdt0 (sz00) W0))))) (All W0, ((aInteger0 W0) => (((sdtpldt0 W0 (smndt0 W0)) = (sz00)) /\ ((sz00) = (sdtpldt0 (smndt0 W0) W0))))) (All W0, ((aInteger0 W0) => (aInteger0 (smndt0 W0)))) (All W0, (All W1, (((aInteger0 W0) /\ (aInteger0 W1)) => (aInteger0 (sdtpldt0 W0 W1))))) (All W0, ((aInteger0 W0) => (All W1, ((aDivisorOf0 W1 W0) <=> ((aInteger0 W1) /\ ((W1 != (sz00)) /\ (Ex W2, ((aInteger0 W2) /\ ((sdtasdt0 W1 W2) = W0)))))))))   ### All 38
% 260.78/260.96  40. (All W1, (All W2, (((aInteger0 (xa)) /\ ((aInteger0 W1) /\ ((aInteger0 W2) /\ (W2 != (sz00))))) => ((sdteqdtlpzmzozddtrp0 (xa) W1 W2) <=> (aDivisorOf0 W2 (sdtpldt0 (xa) (smndt0 W1))))))) (All W0, ((aInteger0 W0) => (All W1, ((aDivisorOf0 W1 W0) <=> ((aInteger0 W1) /\ ((W1 != (sz00)) /\ (Ex W2, ((aInteger0 W2) /\ ((sdtasdt0 W1 W2) = W0))))))))) (All W0, (All W1, (((aInteger0 W0) /\ (aInteger0 W1)) => (aInteger0 (sdtpldt0 W0 W1))))) (All W0, ((aInteger0 W0) => (aInteger0 (smndt0 W0)))) (All W0, ((aInteger0 W0) => (((sdtpldt0 W0 (smndt0 W0)) = (sz00)) /\ ((sz00) = (sdtpldt0 (smndt0 W0) W0))))) (All W0, ((aInteger0 W0) => (((sdtasdt0 W0 (sz00)) = (sz00)) /\ ((sz00) = (sdtasdt0 (sz00) W0))))) (aInteger0 (sz00)) (-. (sdteqdtlpzmzozddtrp0 (xa) (xa) (xq))) ((xq) != (sz00)) (aInteger0 (xq)) (aInteger0 (xa))   ### All 39
% 260.78/260.96  41. (All W0, (All W1, (All W2, (((aInteger0 W0) /\ ((aInteger0 W1) /\ ((aInteger0 W2) /\ (W2 != (sz00))))) => ((sdteqdtlpzmzozddtrp0 W0 W1 W2) <=> (aDivisorOf0 W2 (sdtpldt0 W0 (smndt0 W1)))))))) (aInteger0 (xa)) (aInteger0 (xq)) ((xq) != (sz00)) (-. (sdteqdtlpzmzozddtrp0 (xa) (xa) (xq))) (aInteger0 (sz00)) (All W0, ((aInteger0 W0) => (((sdtasdt0 W0 (sz00)) = (sz00)) /\ ((sz00) = (sdtasdt0 (sz00) W0))))) (All W0, ((aInteger0 W0) => (((sdtpldt0 W0 (smndt0 W0)) = (sz00)) /\ ((sz00) = (sdtpldt0 (smndt0 W0) W0))))) (All W0, ((aInteger0 W0) => (aInteger0 (smndt0 W0)))) (All W0, (All W1, (((aInteger0 W0) /\ (aInteger0 W1)) => (aInteger0 (sdtpldt0 W0 W1))))) (All W0, ((aInteger0 W0) => (All W1, ((aDivisorOf0 W1 W0) <=> ((aInteger0 W1) /\ ((W1 != (sz00)) /\ (Ex W2, ((aInteger0 W2) /\ ((sdtasdt0 W1 W2) = W0)))))))))   ### All 40
% 260.78/260.96  42. ((aInteger0 (xa)) /\ ((aInteger0 (xq)) /\ ((xq) != (sz00)))) (All W0, ((aInteger0 W0) => (All W1, ((aDivisorOf0 W1 W0) <=> ((aInteger0 W1) /\ ((W1 != (sz00)) /\ (Ex W2, ((aInteger0 W2) /\ ((sdtasdt0 W1 W2) = W0))))))))) (All W0, (All W1, (((aInteger0 W0) /\ (aInteger0 W1)) => (aInteger0 (sdtpldt0 W0 W1))))) (All W0, ((aInteger0 W0) => (aInteger0 (smndt0 W0)))) (All W0, ((aInteger0 W0) => (((sdtpldt0 W0 (smndt0 W0)) = (sz00)) /\ ((sz00) = (sdtpldt0 (smndt0 W0) W0))))) (All W0, ((aInteger0 W0) => (((sdtasdt0 W0 (sz00)) = (sz00)) /\ ((sz00) = (sdtasdt0 (sz00) W0))))) (aInteger0 (sz00)) (-. (sdteqdtlpzmzozddtrp0 (xa) (xa) (xq))) (All W0, (All W1, (All W2, (((aInteger0 W0) /\ ((aInteger0 W1) /\ ((aInteger0 W2) /\ (W2 != (sz00))))) => ((sdteqdtlpzmzozddtrp0 W0 W1 W2) <=> (aDivisorOf0 W2 (sdtpldt0 W0 (smndt0 W1))))))))   ### ConjTree 41
% 260.78/260.96  % SZS output end Proof
% 260.78/260.96  (* END-PROOF *)
%------------------------------------------------------------------------------