%------------------------------------------------------------------------------
% File : ConnectPP---0.7.2
% Problem : GRA120+1 : TPTP v9.3.1. Released v9.3.0.
% Transfm : none
% Format : tptp:raw
% Command : /export/starexec/sandbox2/solver/bin/connect++ --verbosity 1 --no-colour --tptp-proof --schedule default --timeout 300 /export/starexec/sandbox2/benchmark/theBenchmark.p
% Computer : n005.cluster.edu
% Model : x86_64 x86_64
% CPU : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory : 8046.5625MB
% OS : Linux 6.8.0-71-generic
% CPULimit : 300s
% WCLimit : 300s
% DateTime : Thu Sep 24 08:40:57 AM UTC 2026
% Result : Unsatisfiable 189.93s 195.45s
% Output : Proof 190.02s
% Verified :
% SZS Type : ERROR: Analysing output (MakeTreeStats fails)
% Comments :
%------------------------------------------------------------------------------
fof(rsym,axiom,
! [X,Y] :
( r(Y,X)
| ~ r(X,Y) ),
file('theBenchmark.p',rsym) ).
fof(rno3cl,axiom,
! [X,Y,Z] :
( ~ r(Y,Z)
| ~ r(X,Z)
| ~ r(X,Y)
| Y = Z
| X = Z
| X = Y ),
file('theBenchmark.p',rno3cl) ).
fof(rno4acl,axiom,
! [X,Y,Z,W] :
( r(Z,W)
| r(Y,W)
| r(X,W)
| r(Y,Z)
| r(X,Z)
| r(X,Y)
| Z = W
| Y = W
| X = W
| Y = Z
| X = Z
| X = Y ),
file('theBenchmark.p',rno4acl) ).
fof(v0nv1,axiom,
v0 != v1,
file('theBenchmark.p',v0nv1) ).
fof(v0nv2,axiom,
v0 != v2,
file('theBenchmark.p',v0nv2) ).
fof(v1nv2,axiom,
v1 != v2,
file('theBenchmark.p',v1nv2) ).
fof(v0nv3,axiom,
v0 != v3,
file('theBenchmark.p',v0nv3) ).
fof(v1nv3,axiom,
v1 != v3,
file('theBenchmark.p',v1nv3) ).
fof(v2nv3,axiom,
v2 != v3,
file('theBenchmark.p',v2nv3) ).
fof(v0nv4,axiom,
v0 != v4,
file('theBenchmark.p',v0nv4) ).
fof(v1nv4,axiom,
v1 != v4,
file('theBenchmark.p',v1nv4) ).
fof(v2nv4,axiom,
v2 != v4,
file('theBenchmark.p',v2nv4) ).
fof(v3nv4,axiom,
v3 != v4,
file('theBenchmark.p',v3nv4) ).
fof(v0nv5,axiom,
v0 != v5,
file('theBenchmark.p',v0nv5) ).
fof(v1nv5,axiom,
v1 != v5,
file('theBenchmark.p',v1nv5) ).
fof(v2nv5,axiom,
v2 != v5,
file('theBenchmark.p',v2nv5) ).
fof(v3nv5,axiom,
v3 != v5,
file('theBenchmark.p',v3nv5) ).
fof(v4nv5,axiom,
v4 != v5,
file('theBenchmark.p',v4nv5) ).
fof(v0nv6,axiom,
v0 != v6,
file('theBenchmark.p',v0nv6) ).
fof(v1nv6,axiom,
v1 != v6,
file('theBenchmark.p',v1nv6) ).
fof(v2nv6,axiom,
v2 != v6,
file('theBenchmark.p',v2nv6) ).
fof(v3nv6,axiom,
v3 != v6,
file('theBenchmark.p',v3nv6) ).
fof(v4nv6,axiom,
v4 != v6,
file('theBenchmark.p',v4nv6) ).
fof(v5nv6,axiom,
v5 != v6,
file('theBenchmark.p',v5nv6) ).
fof(v0nv7,axiom,
v0 != v7,
file('theBenchmark.p',v0nv7) ).
fof(v1nv7,axiom,
v1 != v7,
file('theBenchmark.p',v1nv7) ).
fof(v2nv7,axiom,
v2 != v7,
file('theBenchmark.p',v2nv7) ).
fof(v3nv7,axiom,
v3 != v7,
file('theBenchmark.p',v3nv7) ).
fof(v4nv7,axiom,
v4 != v7,
file('theBenchmark.p',v4nv7) ).
fof(v5nv7,axiom,
v5 != v7,
file('theBenchmark.p',v5nv7) ).
fof(v6nv7,axiom,
v6 != v7,
file('theBenchmark.p',v6nv7) ).
fof(v0nv8,axiom,
v0 != v8,
file('theBenchmark.p',v0nv8) ).
fof(v1nv8,axiom,
v1 != v8,
file('theBenchmark.p',v1nv8) ).
fof(v2nv8,axiom,
v2 != v8,
file('theBenchmark.p',v2nv8) ).
fof(v3nv8,axiom,
v3 != v8,
file('theBenchmark.p',v3nv8) ).
fof(v4nv8,axiom,
v4 != v8,
file('theBenchmark.p',v4nv8) ).
fof(v5nv8,axiom,
v5 != v8,
file('theBenchmark.p',v5nv8) ).
fof(v6nv8,axiom,
v6 != v8,
file('theBenchmark.p',v6nv8) ).
fof(v7nv8,axiom,
v7 != v8,
file('theBenchmark.p',v7nv8) ).
fof(f_1_1,plain,
! [X,Y] :
( r(Y,X)
| ~ r(X,Y) ),
inference(fof_nnf,[status(thm)],[rsym]) ).
fof(f_1_2,plain,
! [U_1,U_0] :
( r(U_0,U_1)
| ~ r(U_1,U_0) ),
inference(variable_rename,[status(thm)],[f_1_1]) ).
fof(f_1_3,plain,
! [U_0,U_1] :
( r(U_0,U_1)
| ~ r(U_1,U_0) ),
inference(definitional_conversion,[status(esa)],[f_1_2]) ).
cnf(f_1_4,plain,
( r(U_0,U_1)
| ~ r(U_1,U_0) ),
inference(clausify,[status(thm)],[f_1_3]) ).
fof(f_2_1,plain,
! [X,Y,Z] :
( ~ r(Y,Z)
| ~ r(X,Z)
| ~ r(X,Y)
| Y = Z
| X = Z
| X = Y ),
inference(fof_nnf,[status(thm)],[rno3cl]) ).
fof(f_2_2,plain,
! [U_4,U_3,U_2] :
( ~ r(U_3,U_2)
| ~ r(U_4,U_2)
| ~ r(U_4,U_3)
| U_3 = U_2
| U_4 = U_2
| U_4 = U_3 ),
inference(variable_rename,[status(thm)],[f_2_1]) ).
fof(f_2_3,plain,
! [U_4,U_3] :
( ! [U_2] :
( ~ r(U_3,U_2)
| ~ r(U_4,U_2)
| U_3 = U_2
| U_4 = U_2 )
| ~ r(U_4,U_3)
| U_4 = U_3 ),
inference(miniscope,[status(thm)],[f_2_2]) ).
fof(f_2_4,plain,
! [U_2,U_3,U_4] :
( ~ r(U_3,U_2)
| ~ r(U_4,U_2)
| U_3 = U_2
| U_4 = U_2
| ~ r(U_4,U_3)
| U_4 = U_3 ),
inference(definitional_conversion,[status(esa)],[f_2_3]) ).
cnf(f_2_5,plain,
( ~ r(U_3,U_2)
| ~ r(U_4,U_2)
| U_3 = U_2
| U_4 = U_2
| ~ r(U_4,U_3)
| U_4 = U_3 ),
inference(clausify,[status(thm)],[f_2_4]) ).
fof(f_3_1,plain,
! [X,Y,Z,W] :
( r(Z,W)
| r(Y,W)
| r(X,W)
| r(Y,Z)
| r(X,Z)
| r(X,Y)
| Z = W
| Y = W
| X = W
| Y = Z
| X = Z
| X = Y ),
inference(fof_nnf,[status(thm)],[rno4acl]) ).
fof(f_3_2,plain,
! [U_8,U_7,U_6,U_5] :
( r(U_6,U_5)
| r(U_7,U_5)
| r(U_8,U_5)
| r(U_7,U_6)
| r(U_8,U_6)
| r(U_8,U_7)
| U_6 = U_5
| U_7 = U_5
| U_8 = U_5
| U_7 = U_6
| U_8 = U_6
| U_8 = U_7 ),
inference(variable_rename,[status(thm)],[f_3_1]) ).
fof(f_3_3,plain,
! [U_8,U_7] :
( ! [U_6] :
( ! [U_5] :
( r(U_6,U_5)
| r(U_7,U_5)
| r(U_8,U_5)
| U_6 = U_5
| U_7 = U_5
| U_8 = U_5 )
| r(U_7,U_6)
| r(U_8,U_6)
| U_7 = U_6
| U_8 = U_6 )
| r(U_8,U_7)
| U_8 = U_7 ),
inference(miniscope,[status(thm)],[f_3_2]) ).
fof(f_3_4,plain,
! [U_6,U_7,U_8,U_5] :
( r(U_6,U_5)
| r(U_7,U_5)
| r(U_8,U_5)
| U_6 = U_5
| U_7 = U_5
| U_8 = U_5
| r(U_7,U_6)
| r(U_8,U_6)
| U_7 = U_6
| U_8 = U_6
| r(U_8,U_7)
| U_8 = U_7 ),
inference(definitional_conversion,[status(esa)],[f_3_3]) ).
cnf(f_3_5,plain,
( r(U_6,U_5)
| r(U_7,U_5)
| r(U_8,U_5)
| U_6 = U_5
| U_7 = U_5
| U_8 = U_5
| r(U_7,U_6)
| r(U_8,U_6)
| U_7 = U_6
| U_8 = U_6
| r(U_8,U_7)
| U_8 = U_7 ),
inference(clausify,[status(thm)],[f_3_4]) ).
fof(f_4_1,plain,
v0 != v1,
inference(fof_nnf,[status(thm)],[v0nv1]) ).
fof(f_4_2,plain,
v0 != v1,
inference(definitional_conversion,[status(esa)],[f_4_1]) ).
cnf(f_4_3,plain,
v0 != v1,
inference(clausify,[status(thm)],[f_4_2]) ).
fof(f_5_1,plain,
v0 != v2,
inference(fof_nnf,[status(thm)],[v0nv2]) ).
fof(f_5_2,plain,
v0 != v2,
inference(definitional_conversion,[status(esa)],[f_5_1]) ).
cnf(f_5_3,plain,
v0 != v2,
inference(clausify,[status(thm)],[f_5_2]) ).
fof(f_6_1,plain,
v1 != v2,
inference(fof_nnf,[status(thm)],[v1nv2]) ).
fof(f_6_2,plain,
v1 != v2,
inference(definitional_conversion,[status(esa)],[f_6_1]) ).
cnf(f_6_3,plain,
v1 != v2,
inference(clausify,[status(thm)],[f_6_2]) ).
fof(f_7_1,plain,
v0 != v3,
inference(fof_nnf,[status(thm)],[v0nv3]) ).
fof(f_7_2,plain,
v0 != v3,
inference(definitional_conversion,[status(esa)],[f_7_1]) ).
cnf(f_7_3,plain,
v0 != v3,
inference(clausify,[status(thm)],[f_7_2]) ).
fof(f_8_1,plain,
v1 != v3,
inference(fof_nnf,[status(thm)],[v1nv3]) ).
fof(f_8_2,plain,
v1 != v3,
inference(definitional_conversion,[status(esa)],[f_8_1]) ).
cnf(f_8_3,plain,
v1 != v3,
inference(clausify,[status(thm)],[f_8_2]) ).
fof(f_9_1,plain,
v2 != v3,
inference(fof_nnf,[status(thm)],[v2nv3]) ).
fof(f_9_2,plain,
v2 != v3,
inference(definitional_conversion,[status(esa)],[f_9_1]) ).
cnf(f_9_3,plain,
v2 != v3,
inference(clausify,[status(thm)],[f_9_2]) ).
fof(f_10_1,plain,
v0 != v4,
inference(fof_nnf,[status(thm)],[v0nv4]) ).
fof(f_10_2,plain,
v0 != v4,
inference(definitional_conversion,[status(esa)],[f_10_1]) ).
cnf(f_10_3,plain,
v0 != v4,
inference(clausify,[status(thm)],[f_10_2]) ).
fof(f_11_1,plain,
v1 != v4,
inference(fof_nnf,[status(thm)],[v1nv4]) ).
fof(f_11_2,plain,
v1 != v4,
inference(definitional_conversion,[status(esa)],[f_11_1]) ).
cnf(f_11_3,plain,
v1 != v4,
inference(clausify,[status(thm)],[f_11_2]) ).
fof(f_12_1,plain,
v2 != v4,
inference(fof_nnf,[status(thm)],[v2nv4]) ).
fof(f_12_2,plain,
v2 != v4,
inference(definitional_conversion,[status(esa)],[f_12_1]) ).
cnf(f_12_3,plain,
v2 != v4,
inference(clausify,[status(thm)],[f_12_2]) ).
fof(f_13_1,plain,
v3 != v4,
inference(fof_nnf,[status(thm)],[v3nv4]) ).
fof(f_13_2,plain,
v3 != v4,
inference(definitional_conversion,[status(esa)],[f_13_1]) ).
cnf(f_13_3,plain,
v3 != v4,
inference(clausify,[status(thm)],[f_13_2]) ).
fof(f_14_1,plain,
v0 != v5,
inference(fof_nnf,[status(thm)],[v0nv5]) ).
fof(f_14_2,plain,
v0 != v5,
inference(definitional_conversion,[status(esa)],[f_14_1]) ).
cnf(f_14_3,plain,
v0 != v5,
inference(clausify,[status(thm)],[f_14_2]) ).
fof(f_15_1,plain,
v1 != v5,
inference(fof_nnf,[status(thm)],[v1nv5]) ).
fof(f_15_2,plain,
v1 != v5,
inference(definitional_conversion,[status(esa)],[f_15_1]) ).
cnf(f_15_3,plain,
v1 != v5,
inference(clausify,[status(thm)],[f_15_2]) ).
fof(f_16_1,plain,
v2 != v5,
inference(fof_nnf,[status(thm)],[v2nv5]) ).
fof(f_16_2,plain,
v2 != v5,
inference(definitional_conversion,[status(esa)],[f_16_1]) ).
cnf(f_16_3,plain,
v2 != v5,
inference(clausify,[status(thm)],[f_16_2]) ).
fof(f_17_1,plain,
v3 != v5,
inference(fof_nnf,[status(thm)],[v3nv5]) ).
fof(f_17_2,plain,
v3 != v5,
inference(definitional_conversion,[status(esa)],[f_17_1]) ).
cnf(f_17_3,plain,
v3 != v5,
inference(clausify,[status(thm)],[f_17_2]) ).
fof(f_18_1,plain,
v4 != v5,
inference(fof_nnf,[status(thm)],[v4nv5]) ).
fof(f_18_2,plain,
v4 != v5,
inference(definitional_conversion,[status(esa)],[f_18_1]) ).
cnf(f_18_3,plain,
v4 != v5,
inference(clausify,[status(thm)],[f_18_2]) ).
fof(f_19_1,plain,
v0 != v6,
inference(fof_nnf,[status(thm)],[v0nv6]) ).
fof(f_19_2,plain,
v0 != v6,
inference(definitional_conversion,[status(esa)],[f_19_1]) ).
cnf(f_19_3,plain,
v0 != v6,
inference(clausify,[status(thm)],[f_19_2]) ).
fof(f_20_1,plain,
v1 != v6,
inference(fof_nnf,[status(thm)],[v1nv6]) ).
fof(f_20_2,plain,
v1 != v6,
inference(definitional_conversion,[status(esa)],[f_20_1]) ).
cnf(f_20_3,plain,
v1 != v6,
inference(clausify,[status(thm)],[f_20_2]) ).
fof(f_21_1,plain,
v2 != v6,
inference(fof_nnf,[status(thm)],[v2nv6]) ).
fof(f_21_2,plain,
v2 != v6,
inference(definitional_conversion,[status(esa)],[f_21_1]) ).
cnf(f_21_3,plain,
v2 != v6,
inference(clausify,[status(thm)],[f_21_2]) ).
fof(f_22_1,plain,
v3 != v6,
inference(fof_nnf,[status(thm)],[v3nv6]) ).
fof(f_22_2,plain,
v3 != v6,
inference(definitional_conversion,[status(esa)],[f_22_1]) ).
cnf(f_22_3,plain,
v3 != v6,
inference(clausify,[status(thm)],[f_22_2]) ).
fof(f_23_1,plain,
v4 != v6,
inference(fof_nnf,[status(thm)],[v4nv6]) ).
fof(f_23_2,plain,
v4 != v6,
inference(definitional_conversion,[status(esa)],[f_23_1]) ).
cnf(f_23_3,plain,
v4 != v6,
inference(clausify,[status(thm)],[f_23_2]) ).
fof(f_24_1,plain,
v5 != v6,
inference(fof_nnf,[status(thm)],[v5nv6]) ).
fof(f_24_2,plain,
v5 != v6,
inference(definitional_conversion,[status(esa)],[f_24_1]) ).
cnf(f_24_3,plain,
v5 != v6,
inference(clausify,[status(thm)],[f_24_2]) ).
fof(f_25_1,plain,
v0 != v7,
inference(fof_nnf,[status(thm)],[v0nv7]) ).
fof(f_25_2,plain,
v0 != v7,
inference(definitional_conversion,[status(esa)],[f_25_1]) ).
cnf(f_25_3,plain,
v0 != v7,
inference(clausify,[status(thm)],[f_25_2]) ).
fof(f_26_1,plain,
v1 != v7,
inference(fof_nnf,[status(thm)],[v1nv7]) ).
fof(f_26_2,plain,
v1 != v7,
inference(definitional_conversion,[status(esa)],[f_26_1]) ).
cnf(f_26_3,plain,
v1 != v7,
inference(clausify,[status(thm)],[f_26_2]) ).
fof(f_27_1,plain,
v2 != v7,
inference(fof_nnf,[status(thm)],[v2nv7]) ).
fof(f_27_2,plain,
v2 != v7,
inference(definitional_conversion,[status(esa)],[f_27_1]) ).
cnf(f_27_3,plain,
v2 != v7,
inference(clausify,[status(thm)],[f_27_2]) ).
fof(f_28_1,plain,
v3 != v7,
inference(fof_nnf,[status(thm)],[v3nv7]) ).
fof(f_28_2,plain,
v3 != v7,
inference(definitional_conversion,[status(esa)],[f_28_1]) ).
cnf(f_28_3,plain,
v3 != v7,
inference(clausify,[status(thm)],[f_28_2]) ).
fof(f_29_1,plain,
v4 != v7,
inference(fof_nnf,[status(thm)],[v4nv7]) ).
fof(f_29_2,plain,
v4 != v7,
inference(definitional_conversion,[status(esa)],[f_29_1]) ).
cnf(f_29_3,plain,
v4 != v7,
inference(clausify,[status(thm)],[f_29_2]) ).
fof(f_30_1,plain,
v5 != v7,
inference(fof_nnf,[status(thm)],[v5nv7]) ).
fof(f_30_2,plain,
v5 != v7,
inference(definitional_conversion,[status(esa)],[f_30_1]) ).
cnf(f_30_3,plain,
v5 != v7,
inference(clausify,[status(thm)],[f_30_2]) ).
fof(f_31_1,plain,
v6 != v7,
inference(fof_nnf,[status(thm)],[v6nv7]) ).
fof(f_31_2,plain,
v6 != v7,
inference(definitional_conversion,[status(esa)],[f_31_1]) ).
cnf(f_31_3,plain,
v6 != v7,
inference(clausify,[status(thm)],[f_31_2]) ).
fof(f_32_1,plain,
v0 != v8,
inference(fof_nnf,[status(thm)],[v0nv8]) ).
fof(f_32_2,plain,
v0 != v8,
inference(definitional_conversion,[status(esa)],[f_32_1]) ).
cnf(f_32_3,plain,
v0 != v8,
inference(clausify,[status(thm)],[f_32_2]) ).
fof(f_33_1,plain,
v1 != v8,
inference(fof_nnf,[status(thm)],[v1nv8]) ).
fof(f_33_2,plain,
v1 != v8,
inference(definitional_conversion,[status(esa)],[f_33_1]) ).
cnf(f_33_3,plain,
v1 != v8,
inference(clausify,[status(thm)],[f_33_2]) ).
fof(f_34_1,plain,
v2 != v8,
inference(fof_nnf,[status(thm)],[v2nv8]) ).
fof(f_34_2,plain,
v2 != v8,
inference(definitional_conversion,[status(esa)],[f_34_1]) ).
cnf(f_34_3,plain,
v2 != v8,
inference(clausify,[status(thm)],[f_34_2]) ).
fof(f_35_1,plain,
v3 != v8,
inference(fof_nnf,[status(thm)],[v3nv8]) ).
fof(f_35_2,plain,
v3 != v8,
inference(definitional_conversion,[status(esa)],[f_35_1]) ).
cnf(f_35_3,plain,
v3 != v8,
inference(clausify,[status(thm)],[f_35_2]) ).
fof(f_36_1,plain,
v4 != v8,
inference(fof_nnf,[status(thm)],[v4nv8]) ).
fof(f_36_2,plain,
v4 != v8,
inference(definitional_conversion,[status(esa)],[f_36_1]) ).
cnf(f_36_3,plain,
v4 != v8,
inference(clausify,[status(thm)],[f_36_2]) ).
fof(f_37_1,plain,
v5 != v8,
inference(fof_nnf,[status(thm)],[v5nv8]) ).
fof(f_37_2,plain,
v5 != v8,
inference(definitional_conversion,[status(esa)],[f_37_1]) ).
cnf(f_37_3,plain,
v5 != v8,
inference(clausify,[status(thm)],[f_37_2]) ).
fof(f_38_1,plain,
v6 != v8,
inference(fof_nnf,[status(thm)],[v6nv8]) ).
fof(f_38_2,plain,
v6 != v8,
inference(definitional_conversion,[status(esa)],[f_38_1]) ).
cnf(f_38_3,plain,
v6 != v8,
inference(clausify,[status(thm)],[f_38_2]) ).
fof(f_39_1,plain,
v7 != v8,
inference(fof_nnf,[status(thm)],[v7nv8]) ).
fof(f_39_2,plain,
v7 != v8,
inference(definitional_conversion,[status(esa)],[f_39_1]) ).
cnf(f_39_3,plain,
v7 != v8,
inference(clausify,[status(thm)],[f_39_2]) ).
cnf(equality_1,axiom,
Eq_x_0 = Eq_x_0,
theory(equality,[reflexivity]) ).
cnf(equality_2,axiom,
( Eq_x_1 = Eq_x_0
| Eq_x_0 != Eq_x_1 ),
theory(equality,[symmetry]) ).
cnf(equality_3,axiom,
( Eq_x_0 = Eq_x_2
| Eq_x_1 != Eq_x_2
| Eq_x_0 != Eq_x_1 ),
theory(equality,[transitivity]) ).
cnf(equality_4,axiom,
( r(Eq_y_0,Eq_y_1)
| ~ r(Eq_x_0,Eq_x_1)
| Eq_x_1 != Eq_y_1
| Eq_x_0 != Eq_y_0 ),
theory(equality,[substitution_predicates]) ).
cnf(sat_proved,plain,
$false,
inference(cadical,[status(thm)],[]) ).
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.03 % Problem : GRA120+1 : TPTP v9.3.1. Released v9.3.0.
% 0.00/0.03 This is a FOF_UNS_RFO_SEQ problem
% 0.00/0.04 % Command : /export/starexec/sandbox2/solver/bin/connect++ --verbosity 1 --no-colour --tptp-proof --schedule default --timeout 300 /export/starexec/sandbox2/benchmark/theBenchmark.p
% 0.10/5.59 % Computer : n005.cluster.edu
% 0.10/5.59 % Model : x86_64 x86_64
% 0.10/5.59 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.10/5.59 % Memory : 8046.5625MB
% 0.10/5.59 % OS : Linux 6.8.0-71-generic
% 0.10/5.59 % CPULimit : 300
% 0.10/5.59 % WCLimit : 300
% 0.10/5.59 % DateTime : Sat Sep 19 08:23:39 UTC 2026
% 0.10/5.60 % CPUTime :
% 189.93/195.45 % SZS status Unsatisfiable for theBenchmark
% 189.93/195.45 % SZS output start Proof for theBenchmark
% See solution above
%------------------------------------------------------------------------------