%------------------------------------------------------------------------------
% File : FindProof---0.1
% Problem : NUM487+3 : TPTP v9.3.1. Released v4.0.0.
% Transfm : none
% Format : tptp:raw
% Command : run_findproof /export/starexec/sandbox2/benchmark/theBenchmark.p 300
% Computer : n008.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 : Fri Sep 25 02:20:10 PM UTC 2026
% Result : Theorem 89.63s 22.63s
% Output : Proof 89.63s
% Verified :
% SZS Type : Refutation
% Derivation depth : 32
% Number of leaves : 12
% Syntax : Number of formulae : 98 ( 64 unt; 1 def)
% Number of atoms : 233 ( 139 equ)
% Maximal formula atoms : 15 ( 2 avg)
% Number of connectives : 215 ( 80 ~; 61 |; 66 &)
% ( 1 <=>; 7 =>; 0 <=; 0 <~>)
% Maximal formula depth : 12 ( 3 avg)
% Maximal term depth : 6 ( 1 avg)
% Number of predicates : 6 ( 4 usr; 1 prp; 0-2 aty)
% Number of functors : 15 ( 15 usr; 9 con; 0-4 aty)
% Number of variables : 73 ( 2 sgn 31 !; 6 ?)
% Comments :
%------------------------------------------------------------------------------
fof(f40,hypothesis,
( doDivides0(xp,sdtasdt0(xn,xm))
& ? [W0] :
( sdtasdt0(xn,xm) = sdtasdt0(xp,W0)
& aNaturalNumber0(W0) )
& isPrime0(xp)
& ! [W0] :
( ( ( doDivides0(W0,xp)
| ? [W1] :
( xp = sdtasdt0(W0,W1)
& aNaturalNumber0(W1) ) )
& aNaturalNumber0(W0) )
=> ( W0 = xp
| W0 = sz10 ) )
& xp != sz10
& xp != sz00 ),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',m__1860) ).
fof(f40_nnf,plain,
( doDivides0(xp,sdtasdt0(xn,xm))
& ? [W0] :
( sdtasdt0(xn,xm) = sdtasdt0(xp,W0)
& aNaturalNumber0(W0) )
& isPrime0(xp)
& ! [W0] :
( W0 = xp
| W0 = sz10
| ( ~ doDivides0(W0,xp)
& ! [W1] :
( xp != sdtasdt0(W0,W1)
| ~ aNaturalNumber0(W1) ) )
| ~ aNaturalNumber0(W0) )
& xp != sz10
& xp != sz00 ),
inference(nnf_transformation,[status(thm)],[f40]) ).
fof(f40_sk,plain,
! [W0,W1] :
( doDivides0(xp,sdtasdt0(xn,xm))
& sdtasdt0(xn,xm) = sdtasdt0(xp,sk8)
& aNaturalNumber0(sk8)
& isPrime0(xp)
& ( W0 = xp
| W0 = sz10
| ( ~ doDivides0(W0,xp)
& ( xp != sdtasdt0(W0,W1)
| ~ aNaturalNumber0(W1) ) )
| ~ aNaturalNumber0(W0) )
& xp != sz10
& xp != sz00 ),
inference(skolemisation,[status(esa),new_symbols(skolem,[sk8])],[f40_nnf]) ).
cnf(c199,plain,
xp != sz00,
inference(cnf_transformation,[status(esa)],[f40_sk]) ).
cnf(t15,plain,
eq(xp,sz00) = false,
inference(equality_encoding,[status(esa)],[c199]) ).
cnf(t6686,plain,
eq(xp,sz00) = false,
inference(orient,[status(thm)],[t15]) ).
fof(f13,axiom,
! [W0,W1,W2] :
( ( aNaturalNumber0(W2)
& aNaturalNumber0(W1)
& aNaturalNumber0(W0) )
=> ( ( sdtpldt0(W1,W0) = sdtpldt0(W2,W0)
| sdtpldt0(W0,W1) = sdtpldt0(W0,W2) )
=> W1 = W2 ) ),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',mAddCanc) ).
fof(f13_nnf,plain,
! [W0,W1,W2] :
( W1 = W2
| ( sdtpldt0(W1,W0) != sdtpldt0(W2,W0)
& sdtpldt0(W0,W1) != sdtpldt0(W0,W2) )
| ~ aNaturalNumber0(W2)
| ~ aNaturalNumber0(W1)
| ~ aNaturalNumber0(W0) ),
inference(nnf_transformation,[status(thm)],[f13]) ).
fof(f13_sk,plain,
! [W0,W1,W2] :
( W1 = W2
| ( sdtpldt0(W1,W0) != sdtpldt0(W2,W0)
& sdtpldt0(W0,W1) != sdtpldt0(W0,W2) )
| ~ aNaturalNumber0(W2)
| ~ aNaturalNumber0(W1)
| ~ aNaturalNumber0(W0) ),
inference(skolemisation,[status(esa)],[f13_nnf]) ).
cnf(c19,plain,
( X1 = X2
| sdtpldt0(X1,X0) != sdtpldt0(X2,X0)
| ~ aNaturalNumber0(X2)
| ~ aNaturalNumber0(X1)
| ~ aNaturalNumber0(X0) ),
inference(cnf_transformation,[status(esa)],[f13_sk]) ).
cnf(t99,plain,
ifeq(aNaturalNumber0(X1),true,ifeq(aNaturalNumber0(X2),true,ifeq(aNaturalNumber0(X3),true,ifeq(sdtpldt0(X2,X1),sdtpldt0(X3,X1),X2,X3),X3),X3),X3) = X3,
inference(equality_encoding,[status(esa)],[c19]) ).
cnf(t257,plain,
ifeq(aNaturalNumber0(X1),true,ifeq(aNaturalNumber0(X2),true,ifeq(aNaturalNumber0(X3),true,ifeq(sdtpldt0(X2,X1),sdtpldt0(X3,X1),X2,X3),X3),X3),X3) = X3,
inference(orient,[status(thm)],[t99]) ).
fof(f1,axiom,
aNaturalNumber0(sz00),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',mSortsC) ).
fof(f1_nnf,plain,
aNaturalNumber0(sz00),
inference(nnf_transformation,[status(thm)],[f1]) ).
cnf(c1,plain,
aNaturalNumber0(sz00),
inference(cnf_transformation,[status(esa)],[f1_nnf]) ).
cnf(t2,plain,
aNaturalNumber0(sz00) = true,
inference(equality_encoding,[status(esa)],[c1]) ).
cnf(t1083,plain,
aNaturalNumber0(sz00) = true,
inference(orient,[status(thm)],[t2]) ).
cnf(t1098,plain,
X1 = ifeq(aNaturalNumber0(X2),true,ifeq(true,true,ifeq(aNaturalNumber0(X1),true,ifeq(sdtpldt0(sz00,X2),sdtpldt0(X1,X2),sz00,X1),X1),X1),X1),
inference(cp,[status(thm)],[t257,t1083]) ).
cnf(t46,plain,
ifeq(X1,X1,X2,X3) = X2,
introduced(definition) ).
cnf(t256,plain,
ifeq(X1,X1,X2,X3) = X2,
inference(orient,[status(thm)],[t46]) ).
cnf(t64482,plain,
X1 = ifeq(aNaturalNumber0(X2),true,ifeq(aNaturalNumber0(X1),true,ifeq(sdtpldt0(sz00,X2),sdtpldt0(X1,X2),sz00,X1),X1),X1),
inference(step,[status(thm)],[t1098,t256]) ).
cnf(t60421,plain,
ifeq(aNaturalNumber0(X1),true,ifeq(aNaturalNumber0(X2),true,ifeq(sdtpldt0(sz00,X1),sdtpldt0(X2,X1),sz00,X2),X2),X2) = X2,
inference(orient,[status(thm)],[t64482]) ).
fof(f42,hypothesis,
( xr = sdtmndt0(xn,xp)
& sdtpldt0(xp,xr) = xn
& aNaturalNumber0(xr) ),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',m__1883) ).
fof(f42_nnf,plain,
( xr = sdtmndt0(xn,xp)
& sdtpldt0(xp,xr) = xn
& aNaturalNumber0(xr) ),
inference(nnf_transformation,[status(thm)],[f42]) ).
fof(f42_sk,plain,
( xr = sdtmndt0(xn,xp)
& sdtpldt0(xp,xr) = xn
& aNaturalNumber0(xr) ),
inference(skolemisation,[status(esa)],[f42_nnf]) ).
cnf(c211,plain,
sdtpldt0(xp,xr) = xn,
inference(cnf_transformation,[status(esa)],[f42_sk]) ).
cnf(t44,plain,
sdtpldt0(xp,xr) = xn,
inference(equality_encoding,[status(esa)],[c211]) ).
cnf(t8042,plain,
sdtpldt0(xp,xr) = xn,
inference(orient,[status(thm)],[t44]) ).
fof(f43,conjecture,
( ( sdtlseqdt0(xr,xn)
| ? [W0] :
( sdtpldt0(xr,W0) = xn
& aNaturalNumber0(W0) ) )
& xr != xn ),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',m__) ).
fof(f43_neg,negated_conjecture,
~ ( ( sdtlseqdt0(xr,xn)
| ? [W0] :
( sdtpldt0(xr,W0) = xn
& aNaturalNumber0(W0) ) )
& xr != xn ),
inference(negated_conjecture,[status(cth)],[f43]) ).
fof(f43_nnf,plain,
( ( ~ sdtlseqdt0(xr,xn)
& ! [W0] :
( sdtpldt0(xr,W0) != xn
| ~ aNaturalNumber0(W0) ) )
| xr = xn ),
inference(nnf_transformation,[status(thm)],[f43_neg]) ).
fof(f43_sk,plain,
! [W0] :
( ( ~ sdtlseqdt0(xr,xn)
& ( sdtpldt0(xr,W0) != xn
| ~ aNaturalNumber0(W0) ) )
| xr = xn ),
inference(skolemisation,[status(esa)],[f43_nnf]) ).
cnf(c213,plain,
( sdtpldt0(xr,X0) != xn
| ~ aNaturalNumber0(X0)
| xr = xn ),
inference(cnf_transformation,[status(esa)],[f43_sk]) ).
cnf(t67,plain,
ifeq(aNaturalNumber0(X1),true,ifeq(sdtpldt0(xr,X1),xn,xr,xn),xn) = xn,
inference(equality_encoding,[status(esa)],[c213]) ).
cnf(t6518,plain,
ifeq(aNaturalNumber0(X1),true,ifeq(sdtpldt0(xr,X1),xn,xr,xn),xn) = xn,
inference(orient,[status(thm)],[t67]) ).
fof(f5,axiom,
! [W0,W1] :
( ( aNaturalNumber0(W1)
& aNaturalNumber0(W0) )
=> sdtpldt0(W0,W1) = sdtpldt0(W1,W0) ),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',mAddComm) ).
fof(f5_nnf,plain,
! [W0,W1] :
( sdtpldt0(W0,W1) = sdtpldt0(W1,W0)
| ~ aNaturalNumber0(W1)
| ~ aNaturalNumber0(W0) ),
inference(nnf_transformation,[status(thm)],[f5]) ).
fof(f5_sk,plain,
! [W0,W1] :
( sdtpldt0(W0,W1) = sdtpldt0(W1,W0)
| ~ aNaturalNumber0(W1)
| ~ aNaturalNumber0(W0) ),
inference(skolemisation,[status(esa)],[f5_nnf]) ).
cnf(c6,plain,
( sdtpldt0(X0,X1) = sdtpldt0(X1,X0)
| ~ aNaturalNumber0(X1)
| ~ aNaturalNumber0(X0) ),
inference(cnf_transformation,[status(esa)],[f5_sk]) ).
cnf(t83,plain,
ifeq(aNaturalNumber0(X1),true,ifeq(aNaturalNumber0(X2),true,sdtpldt0(X1,X2),sdtpldt0(X2,X1)),sdtpldt0(X2,X1)) = sdtpldt0(X2,X1),
inference(equality_encoding,[status(esa)],[c6]) ).
cnf(t6480,plain,
ifeq(aNaturalNumber0(X1),true,ifeq(aNaturalNumber0(X2),true,sdtpldt0(X1,X2),sdtpldt0(X2,X1)),sdtpldt0(X2,X1)) = sdtpldt0(X2,X1),
inference(orient,[status(thm)],[t83]) ).
cnf(t8043,plain,
sdtpldt0(xr,xp) = ifeq(aNaturalNumber0(xp),true,ifeq(aNaturalNumber0(xr),true,xn,sdtpldt0(xr,xp)),sdtpldt0(xr,xp)),
inference(cp,[status(thm)],[t6480,t8042]) ).
fof(f38,hypothesis,
( aNaturalNumber0(xp)
& aNaturalNumber0(xm)
& aNaturalNumber0(xn) ),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',m__1837) ).
fof(f38_nnf,plain,
( aNaturalNumber0(xp)
& aNaturalNumber0(xm)
& aNaturalNumber0(xn) ),
inference(nnf_transformation,[status(thm)],[f38]) ).
fof(f38_sk,plain,
( aNaturalNumber0(xp)
& aNaturalNumber0(xm)
& aNaturalNumber0(xn) ),
inference(skolemisation,[status(esa)],[f38_nnf]) ).
cnf(c72,plain,
aNaturalNumber0(xp),
inference(cnf_transformation,[status(esa)],[f38_sk]) ).
cnf(t6,plain,
aNaturalNumber0(xp) = true,
inference(equality_encoding,[status(esa)],[c72]) ).
cnf(t2748,plain,
aNaturalNumber0(xp) = true,
inference(orient,[status(thm)],[t6]) ).
cnf(t61417,plain,
sdtpldt0(xr,xp) = ifeq(true,true,ifeq(aNaturalNumber0(xr),true,xn,sdtpldt0(xr,xp)),sdtpldt0(xr,xp)),
inference(step,[status(thm)],[t8043,t2748]) ).
cnf(t61418,plain,
sdtpldt0(xr,xp) = ifeq(aNaturalNumber0(xr),true,xn,sdtpldt0(xr,xp)),
inference(step,[status(thm)],[t61417,t256]) ).
cnf(c210,plain,
aNaturalNumber0(xr),
inference(cnf_transformation,[status(esa)],[f42_sk]) ).
cnf(t7,plain,
aNaturalNumber0(xr) = true,
inference(equality_encoding,[status(esa)],[c210]) ).
cnf(t3858,plain,
aNaturalNumber0(xr) = true,
inference(orient,[status(thm)],[t7]) ).
cnf(t61419,plain,
sdtpldt0(xr,xp) = ifeq(true,true,xn,sdtpldt0(xr,xp)),
inference(step,[status(thm)],[t61418,t3858]) ).
cnf(t61420,plain,
sdtpldt0(xr,xp) = xn,
inference(step,[status(thm)],[t61419,t256]) ).
cnf(t15406,plain,
sdtpldt0(xr,xp) = xn,
inference(orient,[status(thm)],[t61420]) ).
cnf(t15407,plain,
xn = ifeq(aNaturalNumber0(xp),true,ifeq(xn,xn,xr,xn),xn),
inference(cp,[status(thm)],[t6518,t15406]) ).
cnf(t61421,plain,
xn = ifeq(true,true,ifeq(xn,xn,xr,xn),xn),
inference(step,[status(thm)],[t15407,t2748]) ).
cnf(t61422,plain,
xn = ifeq(xn,xn,xr,xn),
inference(step,[status(thm)],[t61421,t256]) ).
cnf(t61423,plain,
xn = xr,
inference(step,[status(thm)],[t61422,t256]) ).
cnf(t15559,plain,
xn = xr,
inference(orient,[status(thm)],[t61423]) ).
cnf(t61424,plain,
sdtpldt0(xp,xr) = xr,
inference(step,[status(thm)],[t8042,t15559]) ).
cnf(t15560,plain,
sdtpldt0(xp,xr) = xr,
inference(orient,[status(thm)],[t61424]) ).
cnf(t60743,plain,
xp = ifeq(aNaturalNumber0(xr),true,ifeq(aNaturalNumber0(xp),true,ifeq(sdtpldt0(sz00,xr),xr,sz00,xp),xp),xp),
inference(cp,[status(thm)],[t60421,t15560]) ).
cnf(t64483,plain,
xp = ifeq(true,true,ifeq(aNaturalNumber0(xp),true,ifeq(sdtpldt0(sz00,xr),xr,sz00,xp),xp),xp),
inference(step,[status(thm)],[t60743,t3858]) ).
cnf(t64484,plain,
xp = ifeq(aNaturalNumber0(xp),true,ifeq(sdtpldt0(sz00,xr),xr,sz00,xp),xp),
inference(step,[status(thm)],[t64483,t256]) ).
cnf(t64485,plain,
xp = ifeq(true,true,ifeq(sdtpldt0(sz00,xr),xr,sz00,xp),xp),
inference(step,[status(thm)],[t64484,t2748]) ).
cnf(t64486,plain,
xp = ifeq(sdtpldt0(sz00,xr),xr,sz00,xp),
inference(step,[status(thm)],[t64485,t256]) ).
fof(f7,axiom,
! [W0] :
( aNaturalNumber0(W0)
=> ( W0 = sdtpldt0(sz00,W0)
& sdtpldt0(W0,sz00) = W0 ) ),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',m_AddZero) ).
fof(f7_nnf,plain,
! [W0] :
( ( W0 = sdtpldt0(sz00,W0)
& sdtpldt0(W0,sz00) = W0 )
| ~ aNaturalNumber0(W0) ),
inference(nnf_transformation,[status(thm)],[f7]) ).
fof(f7_sk,plain,
! [W0] :
( ( W0 = sdtpldt0(sz00,W0)
& sdtpldt0(W0,sz00) = W0 )
| ~ aNaturalNumber0(W0) ),
inference(skolemisation,[status(esa)],[f7_nnf]) ).
cnf(c9,plain,
( X0 = sdtpldt0(sz00,X0)
| ~ aNaturalNumber0(X0) ),
inference(cnf_transformation,[status(esa)],[f7_sk]) ).
cnf(hi7,axiom,
ifeq(aNaturalNumber0(X0),true,X0,sdtpldt0(sz00,X0)) = sdtpldt0(sz00,X0),
inference(equality_encoding,[status(esa)],[c9]) ).
cnf(hi203,axiom,
aNaturalNumber0(xr) = true,
inference(equality_encoding,[status(esa)],[c210]) ).
cnf(t42,plain,
sdtpldt0(sz00,xr) = xr,
inference(hyper_resolution,[status(thm)],[hi7,hi203]) ).
cnf(t7577,plain,
sdtpldt0(sz00,xr) = xr,
inference(orient,[status(thm)],[t42]) ).
cnf(t64487,plain,
xp = ifeq(xr,xr,sz00,xp),
inference(step,[status(thm)],[t64486,t7577]) ).
cnf(t64488,plain,
xp = sz00,
inference(step,[status(thm)],[t64487,t256]) ).
cnf(t60744,plain,
sz00 = xp,
inference(orient,[status(thm)],[t64488]) ).
cnf(t64570,plain,
eq(xp,xp) = false,
inference(step,[status(thm)],[t6686,t60744]) ).
cnf(t13,plain,
eq(X1,X1) = true,
introduced(definition) ).
cnf(t5523,plain,
eq(X1,X1) = true,
inference(orient,[status(thm)],[t13]) ).
cnf(t64571,plain,
true = false,
inference(step,[status(thm)],[t64570,t5523]) ).
cnf(t60792,plain,
true = false,
inference(rw,[status(thm)],[t64571]) ).
cnf(t61380,plain,
false = true,
inference(orient,[status(thm)],[t60792]) ).
fof(f2,axiom,
( sz10 != sz00
& aNaturalNumber0(sz10) ),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',mSortsC_01) ).
fof(f2_nnf,plain,
( sz10 != sz00
& aNaturalNumber0(sz10) ),
inference(nnf_transformation,[status(thm)],[f2]) ).
fof(f2_sk,plain,
( sz10 != sz00
& aNaturalNumber0(sz10) ),
inference(skolemisation,[status(esa)],[f2_nnf]) ).
cnf(c3,plain,
sz10 != sz00,
inference(cnf_transformation,[status(esa)],[f2_sk]) ).
fof(f36,definition,
! [W0] :
( aNaturalNumber0(W0)
=> ( isPrime0(W0)
<=> ( ! [W1] :
( ( doDivides0(W1,W0)
& aNaturalNumber0(W1) )
=> ( W1 = W0
| W1 = sz10 ) )
& W0 != sz10
& W0 != sz00 ) ) ),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',mDefPrime) ).
fof(f36_nnf,plain,
! [W0] :
( ( ( ? [W1] :
( W1 != W0
& W1 != sz10
& doDivides0(W1,W0)
& aNaturalNumber0(W1) )
| W0 = sz10
| W0 = sz00
| isPrime0(W0) )
& ( ( ! [W1] :
( W1 = W0
| W1 = sz10
| ~ doDivides0(W1,W0)
| ~ aNaturalNumber0(W1) )
& W0 != sz10
& W0 != sz00 )
| ~ isPrime0(W0) ) )
| ~ aNaturalNumber0(W0) ),
inference(nnf_transformation,[status(thm)],[f36]) ).
fof(f36_sk,plain,
! [W0,W1] :
( ( ( ( sk2(W0) != W0
& sk2(W0) != sz10
& doDivides0(sk2(W0),W0)
& aNaturalNumber0(sk2(W0)) )
| W0 = sz10
| W0 = sz00
| isPrime0(W0) )
& ( ( ( W1 = W0
| W1 = sz10
| ~ doDivides0(W1,W0)
| ~ aNaturalNumber0(W1) )
& W0 != sz10
& W0 != sz00 )
| ~ isPrime0(W0) ) )
| ~ aNaturalNumber0(W0) ),
inference(skolemisation,[status(esa),new_symbols(skolem,[sk2])],[f36_nnf]) ).
cnf(c60,plain,
( X0 != sz00
| ~ isPrime0(X0)
| ~ aNaturalNumber0(X0) ),
inference(cnf_transformation,[status(esa)],[f36_sk]) ).
cnf(c61,plain,
( X0 != sz10
| ~ isPrime0(X0)
| ~ aNaturalNumber0(X0) ),
inference(cnf_transformation,[status(esa)],[f36_sk]) ).
cnf(c200,plain,
xp != sz10,
inference(cnf_transformation,[status(esa)],[f40_sk]) ).
cnf(goal_0,negated_conjecture,
true != false,
inference(equality_encoding,[status(esa)],[c3,c60,c61,c199,c200]) ).
cnf(g0_0,plain,
true != true,
inference(rw,[status(thm)],[goal_0,t61380]) ).
cnf(contradiction_0,plain,
$false,
inference(trivial_inequality_removal,[status(thm)],[g0_0]) ).
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.03 % Problem : NUM487+3 : TPTP v9.3.1. Released v4.0.0.
% 0.00/0.04 % Command : run_findproof /export/starexec/sandbox2/benchmark/theBenchmark.p 300
% 0.09/10.38 % Computer : n008.cluster.edu
% 0.09/10.38 % Model : x86_64 x86_64
% 0.09/10.38 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.09/10.38 % Memory : 8046.5625MB
% 0.09/10.38 % OS : Linux 6.8.0-71-generic
% 0.09/10.38 % CPULimit : 300
% 0.09/10.38 % WCLimit : 300
% 0.09/10.38 % DateTime : Thu Sep 24 04:15:23 UTC 2026
% 0.09/10.39 % CPUTime :
% 0.09/10.39 Running run_findproof /export/starexec/sandbox2/benchmark/theBenchmark.p 300
% 89.63/22.63 % SZS status Theorem for /export/starexec/sandbox2/benchmark/theBenchmark.p
% 89.63/22.63 % SZS output start Proof for /export/starexec/sandbox2/benchmark/theBenchmark.p
% See solution above
%------------------------------------------------------------------------------