TSTP Solution File: GRP130-3.003 by iProver---3.8

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : iProver---3.8
% Problem  : GRP130-3.003 : TPTP v8.1.2. Released v1.2.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : run_iprover %s %d THM

% Computer : n011.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 : Thu Aug 31 00:58:08 EDT 2023

% Result   : Unsatisfiable 0.45s 1.15s
% Output   : CNFRefutation 0.45s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :    4
%            Number of leaves      :   14
% Syntax   : Number of clauses     :   83 (  10 unt;  11 nHn;  83 RR)
%            Number of literals    :  245 (   0 equ; 148 neg)
%            Maximal clause size   :    5 (   2 avg)
%            Maximal term depth    :    1 (   1 avg)
%            Number of predicates  :    4 (   3 usr;   1 prp; 0-3 aty)
%            Number of functors    :    3 (   3 usr;   3 con; 0-0 aty)
%            Number of variables   :   73 (   0 sgn)

% Comments : 
%------------------------------------------------------------------------------
cnf(c_65,plain,
    group_element(e_1),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',element_1) ).

cnf(c_66,plain,
    group_element(e_2),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',element_2) ).

cnf(c_67,plain,
    group_element(e_3),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',element_3) ).

cnf(c_68,plain,
    ~ equalish(e_1,e_2),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',e_1_is_not_e_2) ).

cnf(c_69,plain,
    ~ equalish(e_1,e_3),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',e_1_is_not_e_3) ).

cnf(c_70,plain,
    ~ equalish(e_2,e_1),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',e_2_is_not_e_1) ).

cnf(c_71,plain,
    ~ equalish(e_2,e_3),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',e_2_is_not_e_3) ).

cnf(c_72,plain,
    ~ equalish(e_3,e_1),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',e_3_is_not_e_1) ).

cnf(c_73,plain,
    ~ equalish(e_3,e_2),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',e_3_is_not_e_2) ).

cnf(c_74,plain,
    ( ~ group_element(X0)
    | ~ group_element(X1)
    | product(X0,X1,e_1)
    | product(X0,X1,e_2)
    | product(X0,X1,e_3) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',product_total_function1) ).

cnf(c_75,plain,
    ( ~ product(X0,X1,X2)
    | ~ product(X0,X1,X3)
    | equalish(X3,X2) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',product_total_function2) ).

cnf(c_76,plain,
    ( ~ product(X0,X1,X2)
    | ~ product(X0,X3,X2)
    | equalish(X3,X1) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',product_right_cancellation) ).

cnf(c_77,plain,
    ( ~ product(X0,X1,X2)
    | ~ product(X3,X1,X2)
    | equalish(X3,X0) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',product_left_cancellation) ).

cnf(c_78,negated_conjecture,
    ( ~ product(X0,X1,X2)
    | ~ product(X0,X2,X3)
    | product(X3,X1,X0) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',qg3) ).

cnf(c_485,plain,
    ( ~ product(e_2,X0,X1)
    | ~ product(e_3,X0,X1) ),
    inference(resolution,[status(thm)],[c_71,c_77]) ).

cnf(c_486,plain,
    ( ~ product(e_2,e_1,e_1)
    | ~ product(e_3,e_1,e_1) ),
    inference(instantiation,[status(thm)],[c_485]) ).

cnf(c_581,plain,
    ( ~ product(e_1,X0,X1)
    | ~ product(e_2,X0,X1)
    | equalish(e_1,e_2) ),
    inference(instantiation,[status(thm)],[c_77]) ).

cnf(c_583,plain,
    ( ~ product(X0,e_1,X1)
    | ~ product(X0,e_3,X1)
    | equalish(e_1,e_3) ),
    inference(instantiation,[status(thm)],[c_76]) ).

cnf(c_586,plain,
    ( ~ product(X0,e_1,X1)
    | ~ product(X0,e_2,X1)
    | equalish(e_2,e_1) ),
    inference(instantiation,[status(thm)],[c_76]) ).

cnf(c_587,plain,
    ( ~ product(e_1,X0,X1)
    | ~ product(e_2,X0,X1)
    | equalish(e_2,e_1) ),
    inference(instantiation,[status(thm)],[c_77]) ).

cnf(c_588,plain,
    ( ~ product(X0,X1,e_2)
    | ~ product(X0,X1,e_3)
    | equalish(e_2,e_3) ),
    inference(instantiation,[status(thm)],[c_75]) ).

cnf(c_592,plain,
    ( ~ product(X0,e_1,X1)
    | ~ product(X0,e_3,X1)
    | equalish(e_3,e_1) ),
    inference(instantiation,[status(thm)],[c_76]) ).

cnf(c_593,plain,
    ( ~ product(e_1,X0,X1)
    | ~ product(e_3,X0,X1)
    | equalish(e_3,e_1) ),
    inference(instantiation,[status(thm)],[c_77]) ).

cnf(c_595,plain,
    ( ~ product(X0,e_2,X1)
    | ~ product(X0,e_3,X1)
    | equalish(e_3,e_2) ),
    inference(instantiation,[status(thm)],[c_76]) ).

cnf(c_596,plain,
    ( ~ product(e_2,X0,X1)
    | ~ product(e_3,X0,X1)
    | equalish(e_3,e_2) ),
    inference(instantiation,[status(thm)],[c_77]) ).

cnf(c_616,plain,
    ( ~ product(e_2,X0,e_1)
    | ~ product(e_2,e_1,X0)
    | product(e_1,e_1,e_2) ),
    inference(instantiation,[status(thm)],[c_78]) ).

cnf(c_617,plain,
    ( ~ product(e_2,e_1,e_1)
    | product(e_1,e_1,e_2) ),
    inference(instantiation,[status(thm)],[c_616]) ).

cnf(c_618,plain,
    ( ~ product(e_3,X0,e_1)
    | ~ product(e_3,e_1,X0)
    | product(e_1,e_1,e_3) ),
    inference(instantiation,[status(thm)],[c_78]) ).

cnf(c_619,plain,
    ( ~ product(e_3,e_1,e_1)
    | product(e_1,e_1,e_3) ),
    inference(instantiation,[status(thm)],[c_618]) ).

cnf(c_623,plain,
    ( ~ group_element(X0)
    | ~ group_element(e_2)
    | product(X0,e_2,e_1)
    | product(X0,e_2,e_2)
    | product(X0,e_2,e_3) ),
    inference(instantiation,[status(thm)],[c_74]) ).

cnf(c_625,plain,
    ( ~ product(X0,X1,X2)
    | ~ product(X0,e_2,X1)
    | product(X2,e_2,X0) ),
    inference(instantiation,[status(thm)],[c_78]) ).

cnf(c_627,plain,
    ( ~ group_element(X0)
    | ~ group_element(e_2)
    | product(e_2,X0,e_1)
    | product(e_2,X0,e_2)
    | product(e_2,X0,e_3) ),
    inference(instantiation,[status(thm)],[c_74]) ).

cnf(c_628,plain,
    ( ~ group_element(e_1)
    | ~ group_element(e_2)
    | product(e_2,e_1,e_1)
    | product(e_2,e_1,e_2)
    | product(e_2,e_1,e_3) ),
    inference(instantiation,[status(thm)],[c_627]) ).

cnf(c_629,plain,
    ( ~ product(X0,X1,X2)
    | ~ product(X0,X2,e_2)
    | product(e_2,X1,X0) ),
    inference(instantiation,[status(thm)],[c_78]) ).

cnf(c_630,plain,
    ( ~ product(e_3,X0,X1)
    | ~ product(e_3,X1,X2)
    | product(X2,X0,e_3) ),
    inference(instantiation,[status(thm)],[c_78]) ).

cnf(c_631,plain,
    ( ~ product(X0,e_1,e_1)
    | ~ product(X0,e_3,e_1)
    | equalish(e_1,e_3) ),
    inference(instantiation,[status(thm)],[c_583]) ).

cnf(c_632,plain,
    ( ~ group_element(X0)
    | ~ group_element(e_3)
    | product(X0,e_3,e_1)
    | product(X0,e_3,e_2)
    | product(X0,e_3,e_3) ),
    inference(instantiation,[status(thm)],[c_74]) ).

cnf(c_633,plain,
    ( ~ group_element(e_1)
    | ~ group_element(e_3)
    | product(e_1,e_3,e_1)
    | product(e_1,e_3,e_2)
    | product(e_1,e_3,e_3) ),
    inference(instantiation,[status(thm)],[c_632]) ).

cnf(c_634,plain,
    ( ~ product(X0,X1,X2)
    | ~ product(X0,e_3,X1)
    | product(X2,e_3,X0) ),
    inference(instantiation,[status(thm)],[c_78]) ).

cnf(c_636,plain,
    ( ~ group_element(X0)
    | ~ group_element(e_3)
    | product(e_3,X0,e_1)
    | product(e_3,X0,e_2)
    | product(e_3,X0,e_3) ),
    inference(instantiation,[status(thm)],[c_74]) ).

cnf(c_637,plain,
    ( ~ group_element(e_1)
    | ~ group_element(e_3)
    | product(e_3,e_1,e_1)
    | product(e_3,e_1,e_2)
    | product(e_3,e_1,e_3) ),
    inference(instantiation,[status(thm)],[c_636]) ).

cnf(c_638,plain,
    ( ~ product(X0,X1,X2)
    | ~ product(X0,X2,e_3)
    | product(e_3,X1,X0) ),
    inference(instantiation,[status(thm)],[c_78]) ).

cnf(c_713,plain,
    ( ~ product(X0,e_1,e_2)
    | ~ product(X0,e_2,e_2)
    | equalish(e_2,e_1) ),
    inference(instantiation,[status(thm)],[c_586]) ).

cnf(c_717,plain,
    ( ~ group_element(e_2)
    | product(e_2,e_2,e_1)
    | product(e_2,e_2,e_2)
    | product(e_2,e_2,e_3) ),
    inference(instantiation,[status(thm)],[c_623]) ).

cnf(c_720,plain,
    ( ~ group_element(e_2)
    | ~ group_element(e_3)
    | product(e_3,e_2,e_1)
    | product(e_3,e_2,e_2)
    | product(e_3,e_2,e_3) ),
    inference(instantiation,[status(thm)],[c_623]) ).

cnf(c_721,plain,
    ( ~ product(e_2,e_2,e_2)
    | ~ product(e_3,e_2,e_2)
    | equalish(e_3,e_2) ),
    inference(instantiation,[status(thm)],[c_596]) ).

cnf(c_722,plain,
    ( ~ product(e_1,e_2,e_2)
    | ~ product(e_3,e_2,e_2)
    | equalish(e_3,e_1) ),
    inference(instantiation,[status(thm)],[c_593]) ).

cnf(c_734,plain,
    ( ~ product(e_1,X0,e_2)
    | ~ product(e_2,X0,e_2)
    | equalish(e_2,e_1) ),
    inference(instantiation,[status(thm)],[c_587]) ).

cnf(c_737,plain,
    ( ~ product(e_1,e_1,e_2)
    | ~ product(e_2,e_1,e_2)
    | equalish(e_2,e_1) ),
    inference(instantiation,[status(thm)],[c_734]) ).

cnf(c_746,plain,
    ( ~ product(e_2,e_1,e_2)
    | ~ product(e_2,e_2,e_1)
    | product(e_1,e_1,e_2) ),
    inference(instantiation,[status(thm)],[c_616]) ).

cnf(c_764,plain,
    ( ~ group_element(e_3)
    | product(e_3,e_3,e_1)
    | product(e_3,e_3,e_2)
    | product(e_3,e_3,e_3) ),
    inference(instantiation,[status(thm)],[c_632]) ).

cnf(c_770,plain,
    ( ~ product(X0,X1,e_3)
    | ~ product(X0,e_3,e_2)
    | product(e_2,X1,X0) ),
    inference(instantiation,[status(thm)],[c_629]) ).

cnf(c_771,plain,
    ( ~ product(e_1,e_1,e_3)
    | ~ product(e_1,e_3,e_2)
    | product(e_2,e_1,e_1) ),
    inference(instantiation,[status(thm)],[c_770]) ).

cnf(c_779,plain,
    ( ~ product(e_2,X0,e_2)
    | ~ product(e_3,X0,e_2)
    | equalish(e_3,e_2) ),
    inference(instantiation,[status(thm)],[c_596]) ).

cnf(c_780,plain,
    ( ~ product(e_1,X0,e_2)
    | ~ product(e_3,X0,e_2)
    | equalish(e_3,e_1) ),
    inference(instantiation,[status(thm)],[c_593]) ).

cnf(c_785,plain,
    ( ~ product(e_1,e_1,e_2)
    | ~ product(e_3,e_1,e_2)
    | equalish(e_3,e_1) ),
    inference(instantiation,[status(thm)],[c_780]) ).

cnf(c_786,plain,
    ( ~ product(e_2,e_1,e_2)
    | ~ product(e_3,e_1,e_2)
    | equalish(e_3,e_2) ),
    inference(instantiation,[status(thm)],[c_779]) ).

cnf(c_788,plain,
    ( ~ product(e_3,e_1,e_2)
    | ~ product(e_3,e_2,e_1)
    | product(e_1,e_1,e_3) ),
    inference(instantiation,[status(thm)],[c_618]) ).

cnf(c_789,plain,
    ( ~ product(e_3,X0,X1)
    | ~ product(e_3,X1,e_2)
    | product(e_2,X0,e_3) ),
    inference(instantiation,[status(thm)],[c_629]) ).

cnf(c_851,plain,
    ( ~ product(e_1,e_1,e_3)
    | ~ product(e_2,e_1,e_3)
    | equalish(e_1,e_2) ),
    inference(instantiation,[status(thm)],[c_581]) ).

cnf(c_873,plain,
    ( ~ product(e_1,e_1,e_3)
    | ~ product(e_1,e_3,e_1)
    | product(e_3,e_3,e_1) ),
    inference(instantiation,[status(thm)],[c_634]) ).

cnf(c_910,plain,
    ( ~ product(X0,e_1,e_3)
    | ~ product(X0,e_2,e_3)
    | equalish(e_2,e_1) ),
    inference(instantiation,[status(thm)],[c_586]) ).

cnf(c_1121,plain,
    ( ~ product(e_2,e_1,X0)
    | ~ product(e_2,e_2,e_1)
    | product(X0,e_2,e_2) ),
    inference(instantiation,[status(thm)],[c_625]) ).

cnf(c_1124,plain,
    ( ~ product(e_2,e_1,e_1)
    | ~ product(e_2,e_2,e_1)
    | product(e_1,e_2,e_2) ),
    inference(instantiation,[status(thm)],[c_1121]) ).

cnf(c_1132,plain,
    ( ~ product(e_3,e_1,e_3)
    | ~ product(e_3,e_2,e_1)
    | product(e_3,e_2,e_3) ),
    inference(instantiation,[status(thm)],[c_638]) ).

cnf(c_1137,plain,
    ( ~ product(e_3,e_1,e_1)
    | ~ product(e_3,e_2,e_1)
    | equalish(e_2,e_1) ),
    inference(instantiation,[status(thm)],[c_586]) ).

cnf(c_1144,plain,
    ( ~ product(e_3,e_1,e_3)
    | ~ product(e_3,e_3,e_1)
    | product(e_3,e_3,e_3) ),
    inference(instantiation,[status(thm)],[c_638]) ).

cnf(c_1147,plain,
    ( ~ product(e_3,e_1,e_1)
    | ~ product(e_3,e_3,e_1)
    | equalish(e_1,e_3) ),
    inference(instantiation,[status(thm)],[c_631]) ).

cnf(c_1292,plain,
    ( ~ product(X0,e_1,e_3)
    | ~ product(X0,e_3,e_3)
    | equalish(e_1,e_3) ),
    inference(instantiation,[status(thm)],[c_583]) ).

cnf(c_1294,plain,
    ( ~ product(e_1,e_1,e_3)
    | ~ product(e_1,e_3,e_3)
    | equalish(e_1,e_3) ),
    inference(instantiation,[status(thm)],[c_1292]) ).

cnf(c_1339,plain,
    ( ~ product(e_3,e_1,e_1)
    | ~ product(e_3,e_3,e_1)
    | equalish(e_3,e_1) ),
    inference(instantiation,[status(thm)],[c_592]) ).

cnf(c_1340,plain,
    ( ~ product(e_2,e_1,e_3)
    | ~ product(e_2,e_3,e_3)
    | equalish(e_3,e_1) ),
    inference(instantiation,[status(thm)],[c_592]) ).

cnf(c_1341,plain,
    ( ~ product(X0,e_1,e_3)
    | ~ product(X0,e_3,e_3)
    | equalish(e_3,e_1) ),
    inference(instantiation,[status(thm)],[c_592]) ).

cnf(c_1357,plain,
    ( ~ product(e_3,e_2,e_1)
    | ~ product(e_3,e_3,e_1)
    | equalish(e_3,e_2) ),
    inference(instantiation,[status(thm)],[c_595]) ).

cnf(c_1585,plain,
    ( ~ product(e_3,e_1,e_2)
    | ~ product(e_3,e_1,e_3)
    | equalish(e_2,e_3) ),
    inference(instantiation,[status(thm)],[c_588]) ).

cnf(c_1590,plain,
    ( ~ product(e_3,e_1,e_2)
    | ~ product(e_3,e_2,e_2)
    | equalish(e_2,e_1) ),
    inference(instantiation,[status(thm)],[c_713]) ).

cnf(c_1841,plain,
    ( ~ product(e_2,e_2,e_3)
    | ~ product(e_2,e_3,e_3)
    | equalish(e_3,e_2) ),
    inference(instantiation,[status(thm)],[c_595]) ).

cnf(c_1983,plain,
    ( ~ product(e_3,X0,e_2)
    | ~ product(e_3,e_2,e_3)
    | product(e_3,X0,e_3) ),
    inference(instantiation,[status(thm)],[c_630]) ).

cnf(c_1984,plain,
    ( ~ product(e_3,e_1,e_2)
    | ~ product(e_3,e_2,e_3)
    | product(e_3,e_1,e_3) ),
    inference(instantiation,[status(thm)],[c_1983]) ).

cnf(c_2005,plain,
    ( ~ product(e_3,e_2,e_2)
    | ~ product(e_3,e_3,e_2)
    | product(e_2,e_3,e_3) ),
    inference(instantiation,[status(thm)],[c_789]) ).

cnf(c_2242,plain,
    ( ~ product(e_3,e_1,e_3)
    | ~ product(e_3,e_2,e_3)
    | equalish(e_2,e_1) ),
    inference(instantiation,[status(thm)],[c_910]) ).

cnf(c_2250,plain,
    ( ~ product(e_3,e_1,e_3)
    | ~ product(e_3,e_3,e_3)
    | equalish(e_3,e_1) ),
    inference(instantiation,[status(thm)],[c_1341]) ).

cnf(c_2255,plain,
    $false,
    inference(prop_impl_just,[status(thm)],[c_2250,c_2242,c_2005,c_1984,c_1841,c_1590,c_1585,c_1357,c_1340,c_1339,c_1294,c_1147,c_1144,c_1137,c_1132,c_1124,c_873,c_851,c_788,c_786,c_785,c_771,c_764,c_746,c_737,c_721,c_722,c_720,c_717,c_637,c_633,c_628,c_619,c_617,c_486,c_68,c_69,c_70,c_71,c_72,c_73,c_65,c_66,c_67]) ).


%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.09/0.11  % Problem  : GRP130-3.003 : TPTP v8.1.2. Released v1.2.0.
% 0.09/0.12  % Command  : run_iprover %s %d THM
% 0.11/0.32  % Computer : n011.cluster.edu
% 0.11/0.32  % Model    : x86_64 x86_64
% 0.11/0.32  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.11/0.32  % Memory   : 8042.1875MB
% 0.11/0.32  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.11/0.32  % CPULimit : 300
% 0.11/0.32  % WCLimit  : 300
% 0.11/0.32  % DateTime : Mon Aug 28 22:26:41 EDT 2023
% 0.11/0.33  % CPUTime  : 
% 0.17/0.44  Running first-order theorem proving
% 0.17/0.44  Running: /export/starexec/sandbox/solver/bin/run_problem --schedule fof_schedule --no_cores 8 /export/starexec/sandbox/benchmark/theBenchmark.p 300
% 0.45/1.15  % SZS status Started for theBenchmark.p
% 0.45/1.15  % SZS status Unsatisfiable for theBenchmark.p
% 0.45/1.15  
% 0.45/1.15  %---------------- iProver v3.8 (pre SMT-COMP 2023/CASC 2023) ----------------%
% 0.45/1.15  
% 0.45/1.15  ------  iProver source info
% 0.45/1.15  
% 0.45/1.15  git: date: 2023-05-31 18:12:56 +0000
% 0.45/1.15  git: sha1: 8abddc1f627fd3ce0bcb8b4cbf113b3cc443d7b6
% 0.45/1.15  git: non_committed_changes: false
% 0.45/1.15  git: last_make_outside_of_git: false
% 0.45/1.15  
% 0.45/1.15  ------ Parsing...successful
% 0.45/1.15  
% 0.45/1.15  ------  preprocesses with Option_epr_non_horn_non_eq
% 0.45/1.15  
% 0.45/1.15  
% 0.45/1.15  ------ Preprocessing... sf_s  rm: 0 0s  sf_e  pe_s  pe_e 
% 0.45/1.15  
% 0.45/1.15  ------ Preprocessing...------  preprocesses with Option_epr_non_horn_non_eq
% 0.45/1.15   gs_s  sp: 0 0s  gs_e  snvd_s sp: 0 0s snvd_e 
% 0.45/1.15  ------ Proving...
% 0.45/1.15  ------ Problem Properties 
% 0.45/1.15  
% 0.45/1.15  
% 0.45/1.15  clauses                                 30
% 0.45/1.15  conjectures                             1
% 0.45/1.15  EPR                                     30
% 0.45/1.15  Horn                                    28
% 0.45/1.15  unary                                   19
% 0.45/1.15  binary                                  0
% 0.45/1.15  lits                                    63
% 0.45/1.15  lits eq                                 0
% 0.45/1.15  fd_pure                                 0
% 0.45/1.15  fd_pseudo                               0
% 0.45/1.15  fd_cond                                 0
% 0.45/1.15  fd_pseudo_cond                          0
% 0.45/1.15  AC symbols                              0
% 0.45/1.15  
% 0.45/1.15  ------ Schedule EPR non Horn non eq is on
% 0.45/1.15  
% 0.45/1.15  ------ no equalities: superposition off 
% 0.45/1.15  
% 0.45/1.15  ------ Input Options "--resolution_flag false" Time Limit: 70.
% 0.45/1.15  
% 0.45/1.15  
% 0.45/1.15  ------ 
% 0.45/1.15  Current options:
% 0.45/1.15  ------ 
% 0.45/1.15  
% 0.45/1.15  
% 0.45/1.15  
% 0.45/1.15  
% 0.45/1.15  ------ Proving...
% 0.45/1.15  
% 0.45/1.15  
% 0.45/1.15  % SZS status Unsatisfiable for theBenchmark.p
% 0.45/1.15  
% 0.45/1.15  % SZS output start CNFRefutation for theBenchmark.p
% See solution above
% 0.45/1.15  
% 0.45/1.16  
%------------------------------------------------------------------------------