%------------------------------------------------------------------------------
% File : CSE_E---1.7
% Problem : GRP769-1 : TPTP v9.2.1. Released v4.1.0.
% Transfm : none
% Format : tptp:raw
% Command : /export/starexec/sandbox2/solver/bin/lemma_parallel_prover %s --lemma-prover /export/starexec/sandbox2/solver/bin/cse --final-prover /export/starexec/sandbox2/solver/bin/eprover --proof-time %d --global-time-limit %d
% Computer : n020.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 : 300s
% DateTime : Tue May 5 04:27:14 PM UTC 2026
% Result : Unsatisfiable 110.72s 78.33s
% Output : CNFRefutation 112.32s
% Verified :
% SZS Type : ERROR: Analysing output (Could not find formula named c_0_26)
% Comments :
%------------------------------------------------------------------------------
cnf(sos12,axiom,
eta(X1) = product(i(X1),X1),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',sos12) ).
cnf(sos09,axiom,
i(X1) = difference(X1,one),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',sos09) ).
cnf(sos20,axiom,
t(eta(X1),product(X2,X3)) = product(t(eta(X1),X2),t(eta(X1),X3)),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',sos20) ).
cnf(sos19,axiom,
t(X1,X2) = quotient(product(X1,X2),X1),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',sos19) ).
cnf(sos18,axiom,
product(product(product(quotient(j(X1),X1),product(X1,X1)),X2),X3) = product(product(quotient(j(X1),X1),product(X1,X1)),product(X2,X3)),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',sos18) ).
cnf(sos10,axiom,
j(X1) = quotient(one,X1),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',sos10) ).
cnf(sos16,axiom,
product(eta(X1),product(X2,X3)) = product(product(eta(X1),X2),X3),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',sos16) ).
cnf(sos15,axiom,
product(X1,product(X2,eta(X1))) = product(product(X1,X2),eta(X1)),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',sos15) ).
cnf(sos14,axiom,
product(X1,product(eta(X1),X2)) = product(j(j(X1)),X2),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',sos14) ).
cnf(sos13,axiom,
product(i(i(X1)),X2) = product(eta(X1),product(X1,X2)),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',sos13) ).
cnf(sos22,axiom,
product(j(j(X1)),j(product(X2,X1))) = j(X2),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',sos22) ).
cnf(sos21,axiom,
product(i(product(X1,X2)),i(i(X1))) = i(X2),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',sos21) ).
cnf(sos24,axiom,
product(j(product(X1,X2)),X1) = j(X2),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',sos24) ).
cnf(sos23,axiom,
product(X1,i(product(X2,X1))) = i(X2),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',sos23) ).
cnf(sos17,axiom,
quotient(j(X1),X1) = product(j(X1),i(X1)),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',sos17) ).
cnf(sos11,axiom,
product(i(X1),X1) = product(X1,j(X1)),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',sos11) ).
cnf(sos08,axiom,
difference(product(X1,X2),product(X1,product(X2,X3))) = quotient(quotient(product(X3,product(X1,X2)),X2),X1),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',sos08) ).
cnf(goals,negated_conjecture,
product(product(x0,x1),x2) != product(product(x0,x2),difference(x2,product(x1,x2))),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',goals) ).
cnf(sos07,axiom,
difference(X1,product(product(X1,X2),X3)) = quotient(product(X2,product(X3,X1)),X1),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',sos07) ).
cnf(sos05,axiom,
quotient(product(X1,X2),X2) = X1,
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',sos05) ).
cnf(sos06,axiom,
product(quotient(X1,X2),X2) = X1,
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',sos06) ).
cnf(sos04,axiom,
difference(X1,product(X1,X2)) = X2,
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',sos04) ).
cnf(sos03,axiom,
product(X1,difference(X1,X2)) = X2,
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',sos03) ).
cnf(sos02,axiom,
product(one,X1) = X1,
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',sos02) ).
cnf(sos01,axiom,
product(X1,one) = X1,
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',sos01) ).
cnf(i_0_25,axiom,
eta(X1) = product(i(X1),X1),
sos12 ).
cnf(i_0_26,axiom,
i(X1) = difference(X1,one),
sos09 ).
cnf(i_0_27,axiom,
t(eta(X1),product(X2,X3)) = product(t(eta(X1),X2),t(eta(X1),X3)),
sos20 ).
cnf(i_0_28,plain,
eta(X1) = product(difference(X1,one),X1),
inference(rw,[status(thm)],[i_0_25,c_0_26]) ).
cnf(i_0_29,axiom,
t(X1,X2) = quotient(product(X1,X2),X1),
sos19 ).
cnf(i_0_30,axiom,
product(product(product(quotient(j(X1),X1),product(X1,X1)),X2),X3) = product(product(quotient(j(X1),X1),product(X1,X1)),product(X2,X3)),
sos18 ).
cnf(i_0_31,axiom,
j(X1) = quotient(one,X1),
sos10 ).
cnf(i_0_32,axiom,
product(eta(X1),product(X2,X3)) = product(product(eta(X1),X2),X3),
sos16 ).
cnf(i_0_33,axiom,
product(X1,product(X2,eta(X1))) = product(product(X1,X2),eta(X1)),
sos15 ).
cnf(i_0_34,axiom,
product(X1,product(eta(X1),X2)) = product(j(j(X1)),X2),
sos14 ).
cnf(i_0_35,axiom,
product(i(i(X1)),X2) = product(eta(X1),product(X1,X2)),
sos13 ).
cnf(i_0_36,axiom,
product(j(j(X1)),j(product(X2,X1))) = j(X2),
sos22 ).
cnf(i_0_37,axiom,
product(i(product(X1,X2)),i(i(X1))) = i(X2),
sos21 ).
cnf(i_0_38,axiom,
product(j(product(X1,X2)),X1) = j(X2),
sos24 ).
cnf(i_0_39,axiom,
product(X1,i(product(X2,X1))) = i(X2),
sos23 ).
cnf(i_0_40,axiom,
quotient(j(X1),X1) = product(j(X1),i(X1)),
sos17 ).
cnf(i_0_41,axiom,
product(i(X1),X1) = product(X1,j(X1)),
sos11 ).
cnf(i_0_42,plain,
quotient(product(product(difference(X1,one),X1),product(X2,X3)),product(difference(X1,one),X1)) = product(quotient(product(product(difference(X1,one),X1),X2),product(difference(X1,one),X1)),quotient(product(product(difference(X1,one),X1),X3),product(difference(X1,one),X1))),
inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[i_0_27,c_0_28]),c_0_28]),c_0_28]),c_0_29]),c_0_29]),c_0_29]),
[final] ).
cnf(i_0_43,plain,
product(product(product(quotient(quotient(one,X1),X1),product(X1,X1)),X2),X3) = product(product(quotient(quotient(one,X1),X1),product(X1,X1)),product(X2,X3)),
inference(rw,[status(thm)],[inference(rw,[status(thm)],[i_0_30,c_0_31]),c_0_31]),
[final] ).
cnf(i_0_44,axiom,
difference(product(X1,X2),product(X1,product(X2,X3))) = quotient(quotient(product(X3,product(X1,X2)),X2),X1),
sos08,
[final] ).
cnf(i_0_45,plain,
product(product(difference(X1,one),X1),product(X2,X3)) = product(product(product(difference(X1,one),X1),X2),X3),
inference(rw,[status(thm)],[inference(rw,[status(thm)],[i_0_32,c_0_28]),c_0_28]),
[final] ).
cnf(i_0_46,plain,
product(X1,product(X2,product(difference(X1,one),X1))) = product(product(X1,X2),product(difference(X1,one),X1)),
inference(rw,[status(thm)],[inference(rw,[status(thm)],[i_0_33,c_0_28]),c_0_28]),
[final] ).
cnf(i_0_47,plain,
product(X1,product(product(difference(X1,one),X1),X2)) = product(quotient(one,quotient(one,X1)),X2),
inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[i_0_34,c_0_31]),c_0_31]),c_0_28]),
[final] ).
cnf(i_0_48,negated_conjecture,
product(product(x0,x1),x2) != product(product(x0,x2),difference(x2,product(x1,x2))),
goals,
[final] ).
cnf(i_0_49,plain,
product(difference(difference(X1,one),one),X2) = product(product(difference(X1,one),X1),product(X1,X2)),
inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[i_0_35,c_0_26]),c_0_26]),c_0_28]),
[final] ).
cnf(i_0_50,axiom,
difference(X1,product(product(X1,X2),X3)) = quotient(product(X2,product(X3,X1)),X1),
sos07,
[final] ).
cnf(i_0_51,plain,
product(quotient(one,quotient(one,X1)),quotient(one,product(X2,X1))) = quotient(one,X2),
inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[i_0_36,c_0_31]),c_0_31]),c_0_31]),c_0_31]),
[final] ).
cnf(i_0_52,plain,
product(difference(product(X1,X2),one),difference(difference(X1,one),one)) = difference(X2,one),
inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[i_0_37,c_0_26]),c_0_26]),c_0_26]),c_0_26]),
[final] ).
cnf(i_0_53,plain,
product(quotient(one,product(X1,X2)),X1) = quotient(one,X2),
inference(rw,[status(thm)],[inference(rw,[status(thm)],[i_0_38,c_0_31]),c_0_31]),
[final] ).
cnf(i_0_54,plain,
product(X1,difference(product(X2,X1),one)) = difference(X2,one),
inference(rw,[status(thm)],[inference(rw,[status(thm)],[i_0_39,c_0_26]),c_0_26]),
[final] ).
cnf(i_0_55,plain,
quotient(quotient(one,X1),X1) = product(quotient(one,X1),difference(X1,one)),
inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[i_0_40,c_0_26]),c_0_31]),c_0_31]),
[final] ).
cnf(i_0_56,plain,
product(difference(X1,one),X1) = product(X1,quotient(one,X1)),
inference(rw,[status(thm)],[inference(rw,[status(thm)],[i_0_41,c_0_26]),c_0_31]),
[final] ).
cnf(i_0_57,axiom,
quotient(product(X1,X2),X2) = X1,
sos05,
[final] ).
cnf(i_0_58,axiom,
product(quotient(X1,X2),X2) = X1,
sos06,
[final] ).
cnf(i_0_59,axiom,
difference(X1,product(X1,X2)) = X2,
sos04,
[final] ).
cnf(i_0_60,axiom,
product(X1,difference(X1,X2)) = X2,
sos03,
[final] ).
cnf(i_0_61,axiom,
product(one,X1) = X1,
sos02,
[final] ).
cnf(i_0_62,axiom,
product(X1,one) = X1,
sos01,
[final] ).
cnf(i_0_63,axiom,
X1 = X1 ).
cnf(i_0_64,axiom,
( X1 = X2
| X2 != X1 ) ).
cnf(i_0_65,axiom,
( X1 = X2
| X1 != X3
| X3 != X2 ) ).
cnf(i_0_66,axiom,
( X1 != X2
| quotient(X1,X3) = quotient(X2,X3) ) ).
cnf(i_0_67,axiom,
( X1 != X2
| quotient(X3,X1) = quotient(X3,X2) ) ).
cnf(i_0_68,axiom,
( X1 != X2
| product(X1,X3) = product(X2,X3) ) ).
cnf(i_0_69,axiom,
( X1 != X2
| product(X3,X1) = product(X3,X2) ) ).
cnf(i_0_70,axiom,
( X1 != X2
| difference(X1,X3) = difference(X2,X3) ) ).
cnf(i_0_71,axiom,
( X1 != X2
| difference(X3,X1) = difference(X3,X2) ) ).
cnf(i_0_72,plain,
X1 = product(one,X1),
inference(scs_inference,[],[i_0_61,i_0_64]) ).
cnf(i_0_73,plain,
product(product(X1,X2),X3) != product(one,product(product(X1,X3),difference(X3,product(X2,X3)))),
inference(scs_inference,[],[i_0_48,i_0_61,i_0_64,i_0_65]) ).
cnf(i_0_74,plain,
product(one,X1) = X1,
inference(rename_variables,[],[i_0_61]) ).
cnf(i_0_75,plain,
X1 = product(X1,one),
inference(scs_inference,[],[i_0_62,i_0_64]) ).
cnf(i_0_76,plain,
product(product(X1,X2),X3) != product(product(product(X1,X3),difference(X3,product(X2,X3))),one),
inference(scs_inference,[],[i_0_48,i_0_62,i_0_64,i_0_65]) ).
cnf(i_0_77,plain,
product(X1,one) = X1,
inference(rename_variables,[],[i_0_62]) ).
cnf(i_0_78,plain,
X1 = quotient(product(X1,X2),X2),
inference(scs_inference,[],[i_0_57,i_0_64]) ).
cnf(i_0_80,plain,
quotient(product(X1,X2),X2) = X1,
inference(rename_variables,[],[i_0_57]) ).
cnf(i_0_81,plain,
X1 = product(quotient(X1,X2),X2),
inference(scs_inference,[],[i_0_58,i_0_64]) ).
cnf(i_0_83,plain,
product(quotient(X1,X2),X2) = X1,
inference(rename_variables,[],[i_0_58]) ).
cnf(i_0_84,plain,
product(X1,X2) != quotient(product(product(X1,X3),difference(X3,product(X2,X3))),X3),
inference(scs_inference,[],[i_0_48,i_0_58,i_0_64,i_0_65,i_0_68]) ).
cnf(i_0_85,plain,
X1 = difference(X2,product(X2,X1)),
inference(scs_inference,[],[i_0_59,i_0_64]) ).
cnf(i_0_87,plain,
difference(X1,product(X1,X2)) = X2,
inference(rename_variables,[],[i_0_59]) ).
cnf(i_0_88,plain,
X1 = product(X2,difference(X2,X1)),
inference(scs_inference,[],[i_0_60,i_0_64]) ).
cnf(i_0_90,plain,
product(X1,difference(X1,X2)) = X2,
inference(rename_variables,[],[i_0_60]) ).
cnf(i_0_91,plain,
X1 != difference(product(X2,X3),product(product(X2,X1),difference(X1,product(X3,X1)))),
inference(scs_inference,[],[i_0_48,i_0_60,i_0_64,i_0_65,i_0_69]) ).
cnf(i_0_92,plain,
product(X1,quotient(one,X1)) = product(difference(X1,one),X1),
inference(scs_inference,[],[i_0_56,i_0_64]) ).
cnf(i_0_94,plain,
product(difference(X1,one),X1) = product(X1,quotient(one,X1)),
inference(rename_variables,[],[i_0_56]) ).
cnf(i_0_105,plain,
product(one,X1) = X1,
inference(rename_variables,[],[i_0_61]) ).
cnf(i_0_108,plain,
product(X1,one) = X1,
inference(rename_variables,[],[i_0_62]) ).
cnf(i_0_122,plain,
quotient(one,X1) = product(quotient(one,product(X2,X1)),X2),
inference(scs_inference,[],[i_0_53,i_0_64]) ).
cnf(i_0_130,plain,
difference(X1,one) = product(X2,difference(product(X1,X2),one)),
inference(scs_inference,[],[i_0_54,i_0_64]) ).
cnf(i_0_143,plain,
quotient(one,X1) = product(quotient(one,quotient(one,X2)),quotient(one,product(X1,X2))),
inference(scs_inference,[],[i_0_51,i_0_64]) ).
cnf(i_0_156,plain,
difference(X1,one) = product(difference(product(X2,X1),one),difference(difference(X2,one),one)),
inference(scs_inference,[],[i_0_52,i_0_64]) ).
cnf(i_0_461,plain,
product(quotient(one,quotient(one,X1)),X2) = product(X1,product(product(difference(X1,one),X1),X2)),
inference(scs_inference,[],[i_0_47,i_0_64]) ).
cnf(i_0_504,plain,
product(quotient(one,X1),difference(X1,one)) = quotient(quotient(one,X1),X1),
inference(scs_inference,[],[i_0_55,i_0_64]) ).
cnf(i_0_509,plain,
quotient(product(X1,product(X2,X3)),X3) = difference(X3,product(product(X3,X1),X2)),
inference(scs_inference,[],[i_0_50,i_0_64]) ).
cnf(i_0_652,plain,
product(difference(X1,one),X1) = product(X1,quotient(one,X1)),
inference(rename_variables,[],[i_0_56]) ).
cnf(i_0_795,plain,
product(X1,product(product(difference(X1,one),X1),X2)) = product(quotient(one,quotient(one,X1)),X2),
inference(rename_variables,[],[i_0_47]) ).
cnf(i_0_799,plain,
product(X1,product(product(difference(X1,one),X1),X2)) = product(quotient(one,quotient(one,X1)),X2),
inference(rename_variables,[],[i_0_47]) ).
cnf(i_0_810,plain,
product(X1,product(product(difference(X1,one),X1),X2)) = product(quotient(one,quotient(one,X1)),X2),
inference(rename_variables,[],[i_0_47]) ).
cnf(i_0_823,plain,
product(X1,product(product(difference(X1,one),X1),X2)) = product(quotient(one,quotient(one,X1)),X2),
inference(rename_variables,[],[i_0_47]) ).
cnf(i_0_840,plain,
product(X1,product(product(difference(X1,one),X1),X2)) = product(quotient(one,quotient(one,X1)),X2),
inference(rename_variables,[],[i_0_47]) ).
cnf(i_0_844,plain,
product(X1,product(product(difference(X1,one),X1),X2)) = product(quotient(one,quotient(one,X1)),X2),
inference(rename_variables,[],[i_0_47]) ).
cnf(i_0_848,plain,
product(X1,product(product(difference(X1,one),X1),X2)) = product(quotient(one,quotient(one,X1)),X2),
inference(rename_variables,[],[i_0_47]) ).
cnf(i_0_854,plain,
product(X1,product(product(difference(X1,one),X1),X2)) = product(quotient(one,quotient(one,X1)),X2),
inference(rename_variables,[],[i_0_47]) ).
cnf(i_0_858,plain,
product(X1,product(product(difference(X1,one),X1),X2)) = product(quotient(one,quotient(one,X1)),X2),
inference(rename_variables,[],[i_0_47]) ).
cnf(i_0_866,plain,
product(X1,product(product(difference(X1,one),X1),X2)) = product(quotient(one,quotient(one,X1)),X2),
inference(rename_variables,[],[i_0_47]) ).
cnf(i_0_870,plain,
product(X1,product(product(difference(X1,one),X1),X2)) = product(quotient(one,quotient(one,X1)),X2),
inference(rename_variables,[],[i_0_47]) ).
cnf(i_0_874,plain,
product(X1,product(product(difference(X1,one),X1),X2)) = product(quotient(one,quotient(one,X1)),X2),
inference(rename_variables,[],[i_0_47]) ).
cnf(i_0_883,plain,
product(X1,product(product(difference(X1,one),X1),X2)) = product(quotient(one,quotient(one,X1)),X2),
inference(rename_variables,[],[i_0_47]) ).
cnf(i_0_887,plain,
product(X1,product(product(difference(X1,one),X1),X2)) = product(quotient(one,quotient(one,X1)),X2),
inference(rename_variables,[],[i_0_47]) ).
cnf(i_0_890,plain,
product(X1,product(product(difference(X1,one),X1),X2)) = product(quotient(one,quotient(one,X1)),X2),
inference(rename_variables,[],[i_0_47]) ).
cnf(i_0_93,plain,
difference(one,one) = product(one,quotient(one,one)),
inference(scs_inference,[],[i_0_75,i_0_56,i_0_64,i_0_65]) ).
cnf(i_0_95,plain,
X1 = product(X1,one),
inference(rename_variables,[],[i_0_75]) ).
cnf(i_0_98,plain,
product(X1,quotient(one,X1)) = product(difference(X1,one),X1),
inference(rename_variables,[],[i_0_92]) ).
cnf(c_0_90,plain,
product(product(X1,X2),X3) != product(one,product(product(X1,X3),difference(X3,product(X2,X3)))),
i_0_73 ).
cnf(c_0_91,plain,
X1 = product(one,X1),
i_0_72 ).
cnf(c_0_92,plain,
X1 = difference(X2,product(X2,X1)),
i_0_85 ).
cnf(c_0_93,plain,
product(product(X1,X2),difference(X2,product(X3,X2))) != product(product(X1,X3),X2),
inference(rw,[status(thm)],[c_0_90,c_0_91]) ).
cnf(c_0_94,plain,
X1 = product(X1,one),
i_0_75 ).
cnf(c_0_95,plain,
difference(one,X1) = X1,
inference(spm,[status(thm)],[c_0_92,c_0_91]) ).
cnf(c_0_96,plain,
$false,
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_93,c_0_94]),c_0_94]),c_0_95]),c_0_94])]),
[proof] ).
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.12 % Problem : GRP769-1 : TPTP v9.2.1. Released v4.1.0.
% 0.00/0.12 % Command : /export/starexec/sandbox2/solver/bin/lemma_parallel_prover %s --lemma-prover /export/starexec/sandbox2/solver/bin/cse --final-prover /export/starexec/sandbox2/solver/bin/eprover --proof-time %d --global-time-limit %d
% 0.16/0.34 % Computer : n020.cluster.edu
% 0.16/0.34 % Model : x86_64 x86_64
% 0.16/0.34 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.16/0.34 % Memory : 8042.1875MB
% 0.16/0.34 % OS : Linux 3.10.0-693.el7.x86_64
% 0.16/0.34 % CPULimit : 300
% 0.16/0.34 % WCLimit : 300
% 0.16/0.34 % DateTime : Mon May 4 19:05:50 EDT 2026
% 0.16/0.34 % CPUTime :
% 0.20/0.35 % start to proof: theBenchmark
% 110.72/78.33 % Version : CSE_E---1.7
% 110.72/78.33 % Problem : theBenchmark.p
% 110.72/78.33 % SZS status Unsatisfiable for theBenchmark.p
% 110.72/78.33 % SZS output start CNFRefutation
% See solution above
% 112.32/79.93 % Total time : 77.977s
%------------------------------------------------------------------------------