ifK<=2 # if K <= 2: $2=K*K # $1 := K**6+5*K**4+6*K**2+1; $2=$2+1 # $0 := K**5+4*K**3+3*K; $3=$2*K # $2 := K**4+3*K**2+1; $0=$3+K $1=$0*K $2=$1+$2 $3=$2*K $0=$3+$0 $1=$0*K $1=$1+$2 end # end ifK>=3 # if K >= 3: $1=K*K # $1 := K**2+1; $1=$1+1 $0=K # $0 := K; $2=1 # $2 := 1; end # end while$1<100000 # while $1 < 100000: $3=$0*$0 # $1,$0,$2 := ($0*$0+$1*$1),($0*($1+$2)),($0*$0+$2*$2); $4=$1+$2 $0=$0*$4 $1=$1*$1 $2=$2*$2 $1=$1+$3 $2=$2+$3 end # end $4=N/K while$1<=$4 # while $1 <= (N/K): $2=$1 # $1,$0,$2 := (($1*K+$0)*K+$1),($1*K+$0),($1); $3=$1*K $0=$3+$0 $1=$0*K $1=$1+$2 end # end if$0<=$4 # if $0 <= (N/K): $2=$0 # $1,$0,$2 := ($1*K+$0),($1),($0); $0=$1 $1=$0*K $1=$1+$2 end # end if$0<=N # if $0 <= N: $3=N/$0 # $3 := N/$0+1; $3=$3+1 $1=$1*$3 # $1 := $1*$3+$0; $1=$1+$0 $0=$0*$3 # $0 := $0*$3+$2; $0=$0+$2 end # end $2=$0*N # $2 := $0*N; $3=$1-$0 ifM==0 # if M == 0: $3=$3+K # $2 := $2-($1-$0+K-1)/K; $3=$3-1 $3=$3/K $2=$2-$3 end # end ifM>0 # if M > 0: $4=M-1 # $4 := M-1; $5=$3/K # $2 := $2+(($1-$0)/K)*(M-1); $5=$5*$4 $2=$2+$5 $3=$3%K # $2 := $2+(($1-$0)%K)*(M-1)/K; $3=$3*$4 $3=$3/K $2=$2+$3 end # end $0=$2/$1 # $0 := $2/$1+N; $0=$0+N return$0 # return $0;