version	U12.1.00
uid	factors.u1-1788539902-0
impl	error
link	io.u
link	numbers.u
global	15
	0,000005,divisors,1
	1,000005,factorial,1
	2,000005,factors,2
	3,000005,genfactors,2
	4,000005,gfactorial,2
	5,000005,pfactors,1
	6,000005,ispower,2
	7,000005,isprime,1
	8,000005,nxtprime,1
	9,000005,prdecomp,1
	10,000005,prime,0
	11,000005,primel,0
	12,000005,primorial,2
	13,000005,sfactors,2
	14,000005,squarefree,1

proc divisors
	local	0,001000,n
	local	1,000020,d
	local	2,000020,dlist
	local	3,000000,seq
	local	4,000000,push
	con	0,002000,1,0
	declend
	filen	factors.icn
	line	75
	colm	11
	synt	any
	mark	L1
	pnull
	var	2
	pnull
	line	78
	colm	13
	synt	any
	llist	0
	line	78
	colm	10
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	line	79
	colm	4
	synt	every
	mark0
	pnull
	var	1
	var	3
	line	79
	colm	18
	synt	any
	invoke	0
	line	79
	colm	12
	synt	any
	asgn
	pop
	mark0
	mark	L5
	line	80
	colm	7
	synt	if
	mark0
	pnull
	pnull
	var	1
	var	1
	line	80
	colm	12
	synt	any
	mult
	var	0
	line	80
	colm	16
	synt	any
	numge
	unmark
	unmark
	unmark
	unmark
	pnull
	goto	L4
	line	80
	colm	7
	synt	endif
	unmark
lab L5
	line	82
	colm	7
	synt	if
	mark0
	pnull
	pnull
	var	0
	var	1
	line	82
	colm	12
	synt	any
	mod
	int	0
	line	82
	colm	16
	synt	any
	numeq
	unmark
	mark	L6
	var	4
	var	2
	var	1
	line	83
	colm	14
	synt	any
	invoke	2
	unmark
lab L6
	line	84
	colm	10
	synt	suspend
	mark0
	var	1
	line	84
	colm	10
	synt	any
	psusp
	pop
lab L7
	efail
lab L8
	line	84
	colm	10
	synt	endsuspend
	line	82
	colm	7
	synt	endif
	unmark
lab L3
	efail
lab L4
	line	79
	colm	4
	synt	endevery
	unmark
lab L2
	mark	L9
	line	87
	colm	4
	synt	if
	mark0
	pnull
	pnull
	var	1
	var	1
	line	87
	colm	9
	synt	any
	mult
	var	0
	line	87
	colm	13
	synt	any
	numeq
	unmark
	line	88
	colm	7
	synt	suspend
	mark0
	var	1
	line	88
	colm	7
	synt	any
	psusp
	pop
lab L10
	efail
lab L11
	line	88
	colm	7
	synt	endsuspend
	line	87
	colm	4
	synt	endif
	unmark
lab L9
	mark	L12
	line	89
	colm	4
	synt	suspend
	mark0
	pnull
	var	0
	pnull
	var	2
	line	89
	colm	16
	synt	any
	bang
	line	89
	colm	14
	synt	any
	div
	line	89
	colm	4
	synt	any
	psusp
	pop
lab L13
	efail
lab L14
	line	89
	colm	4
	synt	endsuspend
	unmark
lab L12
	pnull
	line	91
	colm	1
	synt	any
	pfail
	end
proc factorial
	local	0,001000,n
	local	1,000020,i
	local	2,000000,integer
	local	3,000000,runerr
	con	0,002000,3,101
	con	1,002000,1,0
	con	2,002000,1,1
	declend
	line	93
	colm	11
	synt	any
	mark	L1
	pnull
	var	0
	mark	L2
	var	2
	var	0
	line	96
	colm	16
	synt	any
	invoke	1
	line	96
	colm	20
	synt	any
	esusp
	goto	L3
lab L2
	var	3
	int	0
	var	0
	line	96
	colm	28
	synt	any
	invoke	2
lab L3
	line	96
	colm	6
	synt	any
	asgn
	unmark
lab L1
	mark	L4
	line	98
	colm	4
	synt	if
	mark0
	pnull
	var	0
	int	1
	line	98
	colm	9
	synt	any
	numlt
	unmark
	line	98
	colm	18
	synt	any
	pfail
	line	98
	colm	4
	synt	endif
	unmark
lab L4
	mark	L5
	pnull
	var	1
	int	2
	line	100
	colm	6
	synt	any
	asgn
	unmark
lab L5
	mark	L6
	line	102
	colm	4
	synt	every
	mark0
	pnull
	var	1
	dup
	pnull
	int	2
	var	0
	push1
	line	102
	colm	18
	synt	any
	toby
	line	102
	colm	12
	synt	any
	mult
	asgn
	pop
lab L7
	efail
lab L8
	line	102
	colm	4
	synt	endevery
	unmark
lab L6
	mark	L9
	mark	L10
	var	1
	line	104
	colm	4
	synt	any
	pret
lab L10
	synt	any
	pfail
	unmark
lab L9
	pnull
	line	106
	colm	1
	synt	any
	pfail
	end
proc factors
	local	0,001000,i
	local	1,001000,j
	local	2,000020,facts
	local	3,000000,put
	local	4,000000,genfactors
	declend
	line	108
	colm	11
	synt	any
	mark	L1
	line	111
	colm	4
	synt	every
	mark0
	var	3
	pnull
	var	2
	pnull
	line	111
	colm	23
	synt	any
	llist	0
	line	111
	colm	20
	synt	any
	asgn
	var	4
	var	0
	var	1
	line	111
	colm	37
	synt	any
	invoke	2
	line	111
	colm	13
	synt	any
	invoke	2
	pop
lab L2
	efail
lab L3
	line	111
	colm	4
	synt	endevery
	unmark
lab L1
	mark	L4
	mark	L5
	var	2
	line	112
	colm	4
	synt	any
	pret
lab L5
	synt	any
	pfail
	unmark
lab L4
	pnull
	line	114
	colm	1
	synt	any
	pfail
	end
proc genfactors
	local	0,001000,i
	local	1,001000,j
	local	2,000020,p
	local	3,000000,integer
	local	4,000000,runerr
	local	5,000000,prime
	con	0,002000,3,101
	con	1,002000,1,0
	con	2,002000,1,1
	declend
	line	116
	colm	11
	synt	any
	mark	L1
	pnull
	var	0
	mark	L2
	var	3
	var	0
	line	119
	colm	16
	synt	any
	invoke	1
	line	119
	colm	20
	synt	any
	esusp
	goto	L3
lab L2
	var	4
	int	0
	var	0
	line	119
	colm	28
	synt	any
	invoke	2
lab L3
	line	119
	colm	6
	synt	any
	asgn
	unmark
lab L1
	mark	L4
	pnull
	pnull
	var	1
	line	120
	colm	4
	synt	any
	null
	var	0
	line	120
	colm	7
	synt	any
	asgn
	unmark
lab L4
	mark	L5
	line	122
	colm	4
	synt	every
	mark0
	pnull
	var	2
	var	5
	line	122
	colm	20
	synt	any
	invoke	0
	line	122
	colm	12
	synt	any
	asgn
	pop
	mark0
	mark	L8
	line	123
	colm	7
	synt	if
	mark0
	mark	L9
	pnull
	var	2
	var	1
	line	123
	colm	12
	synt	any
	numgt
	line	123
	colm	16
	synt	any
	esusp
	goto	L10
lab L9
	pnull
	pnull
	var	2
	var	2
	line	123
	colm	20
	synt	any
	mult
	var	0
	line	123
	colm	24
	synt	any
	numgt
lab L10
	unmark
	unmark
	unmark
	unmark
	pnull
	goto	L7
	line	123
	colm	7
	synt	endif
	unmark
lab L8
	mark	L11
lab L12
	line	124
	colm	7
	synt	while
	mark0
	pnull
	pnull
	var	0
	var	2
	line	124
	colm	15
	synt	any
	mod
	int	1
	line	124
	colm	19
	synt	any
	numeq
	unmark
	mark	L12
	mark	L15
	line	125
	colm	10
	synt	suspend
	mark0
	var	2
	line	125
	colm	10
	synt	any
	psusp
	pop
lab L16
	efail
lab L17
	line	125
	colm	10
	synt	endsuspend
	unmark
lab L15
	pnull
	var	0
	dup
	var	2
	line	126
	colm	12
	synt	any
	div
	asgn
lab L13
	unmark
	goto	L12
lab L14
	line	124
	colm	7
	synt	endwhile
	unmark
lab L11
	line	128
	colm	7
	synt	if
	mark0
	pnull
	var	0
	int	2
	line	128
	colm	12
	synt	any
	numeq
	unmark
	unmark
	unmark
	pnull
	goto	L7
	line	128
	colm	7
	synt	endif
	unmark
lab L6
	efail
lab L7
	line	122
	colm	4
	synt	endevery
	unmark
lab L5
	mark	L18
	line	130
	colm	4
	synt	if
	mark0
	pnull
	var	0
	int	2
	line	130
	colm	9
	synt	any
	numgt
	unmark
	line	130
	colm	18
	synt	suspend
	mark0
	var	0
	line	130
	colm	18
	synt	any
	psusp
	pop
lab L19
	efail
lab L20
	line	130
	colm	18
	synt	endsuspend
	line	130
	colm	4
	synt	endif
	unmark
lab L18
	pnull
	line	132
	colm	1
	synt	any
	pfail
	end
proc gfactorial
	local	0,001000,n
	local	1,001000,i
	local	2,000020,j
	local	3,000000,integer
	local	4,000000,runerr
	con	0,002000,3,101
	con	1,002000,1,1
	con	2,002000,1,0
	declend
	line	134
	colm	11
	synt	any
	mark	L1
	pnull
	var	0
	mark	L2
	var	3
	var	0
	line	137
	colm	16
	synt	any
	invoke	1
	line	137
	colm	20
	synt	any
	esusp
	goto	L3
lab L2
	var	4
	int	0
	var	0
	line	137
	colm	28
	synt	any
	invoke	2
lab L3
	line	137
	colm	6
	synt	any
	asgn
	unmark
lab L1
	mark	L4
	pnull
	var	1
	mark	L5
	var	3
	var	1
	line	138
	colm	16
	synt	any
	invoke	1
	line	138
	colm	20
	synt	any
	esusp
	goto	L6
lab L5
	int	1
lab L6
	line	138
	colm	6
	synt	any
	asgn
	unmark
lab L4
	mark	L7
	line	140
	colm	4
	synt	if
	mark0
	pnull
	var	0
	int	2
	line	140
	colm	9
	synt	any
	numlt
	unmark
	line	140
	colm	18
	synt	any
	pfail
	line	140
	colm	4
	synt	endif
	unmark
lab L7
	mark	L8
	line	141
	colm	4
	synt	if
	mark0
	pnull
	var	1
	int	1
	line	141
	colm	9
	synt	any
	numlt
	unmark
	line	141
	colm	18
	synt	any
	pfail
	line	141
	colm	4
	synt	endif
	unmark
lab L8
	mark	L9
	pnull
	var	2
	var	0
	line	143
	colm	6
	synt	any
	asgn
	unmark
lab L9
	mark	L10
lab L11
	line	145
	colm	4
	synt	while
	mark0
	pnull
	var	0
	var	1
	line	145
	colm	12
	synt	any
	numgt
	unmark
	mark	L11
	mark	L14
	pnull
	var	0
	dup
	var	1
	line	146
	colm	9
	synt	any
	minus
	asgn
	unmark
lab L14
	pnull
	var	2
	dup
	var	0
	line	147
	colm	9
	synt	any
	mult
	asgn
lab L12
	unmark
	goto	L11
lab L13
	line	145
	colm	4
	synt	endwhile
	unmark
lab L10
	mark	L15
	mark	L16
	var	2
	line	150
	colm	4
	synt	any
	pret
lab L16
	synt	any
	pfail
	unmark
lab L15
	pnull
	line	152
	colm	1
	synt	any
	pfail
	end
proc pfactors
	local	0,001000,i
	local	1,000020,facts
	local	2,000020,p
	local	3,000000,integer
	local	4,000000,runerr
	local	5,000000,prime
	local	6,000000,put
	con	0,002000,3,101
	con	1,002000,1,0
	declend
	line	154
	colm	11
	synt	any
	mark	L1
	pnull
	var	0
	mark	L2
	var	3
	var	0
	line	157
	colm	16
	synt	any
	invoke	1
	line	157
	colm	20
	synt	any
	esusp
	goto	L3
lab L2
	var	4
	int	0
	var	0
	line	157
	colm	28
	synt	any
	invoke	2
lab L3
	line	157
	colm	6
	synt	any
	asgn
	unmark
lab L1
	mark	L4
	pnull
	var	1
	pnull
	line	158
	colm	13
	synt	any
	llist	0
	line	158
	colm	10
	synt	any
	asgn
	unmark
lab L4
	mark	L5
	line	159
	colm	4
	synt	every
	mark0
	pnull
	var	2
	var	5
	line	159
	colm	20
	synt	any
	invoke	0
	line	159
	colm	12
	synt	any
	asgn
	pop
	mark0
	mark	L8
	line	160
	colm	7
	synt	if
	mark0
	pnull
	var	2
	var	0
	line	160
	colm	12
	synt	any
	numgt
	unmark
	unmark
	unmark
	unmark
	pnull
	goto	L7
	line	160
	colm	7
	synt	endif
	unmark
lab L8
	line	161
	colm	7
	synt	if
	mark0
	pnull
	pnull
	var	0
	var	2
	line	161
	colm	12
	synt	any
	mod
	int	1
	line	161
	colm	16
	synt	any
	numeq
	unmark
	mark	L9
	var	6
	var	1
	var	2
	line	162
	colm	13
	synt	any
	invoke	2
	unmark
lab L9
lab L10
	line	163
	colm	10
	synt	while
	mark0
	pnull
	pnull
	var	0
	var	2
	line	163
	colm	18
	synt	any
	mod
	int	1
	line	163
	colm	22
	synt	any
	numeq
	unmark
	mark	L10
	pnull
	var	0
	dup
	var	2
	line	164
	colm	15
	synt	any
	div
	asgn
lab L11
	unmark
	goto	L10
lab L12
	line	163
	colm	10
	synt	endwhile
	line	161
	colm	7
	synt	endif
	unmark
lab L6
	efail
lab L7
	line	159
	colm	4
	synt	endevery
	unmark
lab L5
	mark	L13
	mark	L14
	var	1
	line	168
	colm	4
	synt	any
	pret
lab L14
	synt	any
	pfail
	unmark
lab L13
	pnull
	line	170
	colm	1
	synt	any
	pfail
	end
proc ispower
	local	0,001000,i
	local	1,001000,j
	local	2,000020,k
	local	3,000020,n
	local	4,000000,round
	con	0,004000,1.0
	declend
	line	172
	colm	11
	synt	any
	mark	L1
	pnull
	var	2
	pnull
	pnull
	var	3
	var	4
	pnull
	var	0
	pnull
	real	0
	var	1
	line	175
	colm	30
	synt	any
	div
	line	175
	colm	23
	synt	any
	power
	line	175
	colm	20
	synt	any
	invoke	1
	line	175
	colm	12
	synt	any
	asgn
	var	1
	line	175
	colm	37
	synt	any
	power
	line	175
	colm	6
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	line	176
	colm	4
	synt	ifelse
	mark	L3
	pnull
	var	2
	var	0
	line	176
	colm	9
	synt	any
	numeq
	unmark
	mark	L5
	var	3
	line	176
	colm	18
	synt	any
	pret
lab L5
	synt	any
	pfail
	goto	L4
lab L3
	line	176
	colm	32
	synt	any
	pfail
lab L4
	line	176
	colm	4
	synt	endifelse
	unmark
lab L2
	pnull
	line	178
	colm	1
	synt	any
	pfail
	end
proc isprime
	local	0,001000,n
	local	1,000020,p
	local	2,000000,integer
	local	3,000000,runerr
	local	4,000000,prime
	con	0,002000,3,101
	con	1,002000,1,1
	con	2,002000,1,0
	declend
	line	184
	colm	11
	synt	any
	mark	L1
	pnull
	var	0
	mark	L2
	var	2
	var	0
	line	187
	colm	16
	synt	any
	invoke	1
	line	187
	colm	20
	synt	any
	esusp
	goto	L3
lab L2
	var	3
	int	0
	var	0
	line	187
	colm	28
	synt	any
	invoke	2
lab L3
	line	187
	colm	6
	synt	any
	asgn
	unmark
lab L1
	mark	L4
	line	188
	colm	4
	synt	if
	mark0
	pnull
	var	0
	int	1
	line	188
	colm	9
	synt	any
	numle
	unmark
	line	188
	colm	19
	synt	any
	pfail
	line	188
	colm	4
	synt	endif
	unmark
lab L4
	mark	L5
	line	189
	colm	4
	synt	every
	mark0
	pnull
	var	1
	var	4
	line	189
	colm	20
	synt	any
	invoke	0
	line	189
	colm	12
	synt	any
	asgn
	pop
	mark0
	mark	L8
	line	190
	colm	7
	synt	if
	mark0
	pnull
	pnull
	var	1
	var	1
	line	190
	colm	12
	synt	any
	mult
	var	0
	line	190
	colm	16
	synt	any
	numgt
	unmark
	mark	L9
	var	0
	line	190
	colm	25
	synt	any
	pret
lab L9
	synt	any
	pfail
	line	190
	colm	7
	synt	endif
	unmark
lab L8
	line	191
	colm	7
	synt	if
	mark0
	pnull
	pnull
	var	0
	var	1
	line	191
	colm	12
	synt	any
	mod
	int	2
	line	191
	colm	16
	synt	any
	numeq
	unmark
	line	191
	colm	25
	synt	any
	pfail
	line	191
	colm	7
	synt	endif
	unmark
lab L6
	efail
lab L7
	line	189
	colm	4
	synt	endevery
	unmark
lab L5
	pnull
	line	194
	colm	1
	synt	any
	pfail
	end
proc nxtprime
	local	0,001000,n
	local	1,000020,d
	local	2,000040,step
	local	3,000040,div
	local	4,000000,integer
	local	5,000000,runerr
	local	6,000000,put
	local	7,000000,nxtprime
	con	0,002000,1,1
	con	1,002000,1,6
	con	2,002000,1,5
	con	3,002000,1,4
	con	4,002000,1,3
	con	5,002000,1,2
	con	6,002000,1,7
	con	7,002000,3,101
	con	8,002000,2,30
	con	9,002000,1,0
	declend
	line	196
	colm	11
	synt	any
lab L1
	init	L3
	mark	L2
	mark	L4
	pnull
	var	2
	pnull
	int	0
	int	1
	int	2
	int	3
	int	4
	int	5
	int	0
	int	3
	int	4
	int	5
	int	0
	int	5
	int	0
	int	3
	int	4
	int	5
	int	0
	int	5
	int	0
	int	3
	int	4
	int	5
	int	0
	int	1
	int	2
	int	3
	int	4
	int	5
	int	0
	int	5
	line	201
	colm	15
	synt	any
	llist	30
	line	201
	colm	12
	synt	any
	asgn
	unmark
lab L4
	pnull
	var	3
	pnull
	int	6
	line	202
	colm	14
	synt	any
	llist	1
	line	202
	colm	11
	synt	any
	asgn
	unmark
lab L2
	einit	L1
lab L3
	mark	L5
	pnull
	var	0
	mark	L6
	var	4
	var	0
	line	205
	colm	16
	synt	any
	invoke	1
	line	205
	colm	20
	synt	any
	esusp
	goto	L7
lab L6
	var	5
	int	7
	var	0
	line	205
	colm	28
	synt	any
	invoke	2
lab L7
	line	205
	colm	6
	synt	any
	asgn
	unmark
lab L5
	mark	L8
	line	206
	colm	4
	synt	if
	mark0
	pnull
	var	0
	int	6
	line	206
	colm	9
	synt	any
	numlt
	unmark
	mark	L9
	pnull
	var	0
	mark	L10
	int	5
	line	207
	colm	21
	synt	any
	esusp
	goto	L11
lab L10
	mark	L12
	int	4
	line	207
	colm	25
	synt	any
	esusp
	goto	L13
lab L12
	mark	L14
	int	2
	line	207
	colm	29
	synt	any
	esusp
	goto	L15
lab L14
	int	6
lab L15
lab L13
lab L11
	line	207
	colm	16
	synt	any
	numlt
	line	207
	colm	7
	synt	any
	pret
lab L9
	synt	any
	pfail
	line	206
	colm	4
	synt	endif
	unmark
lab L8
	mark	L16
lab L17
	line	209
	colm	4
	synt	repeat
	mark	L17
	mark	L20
	pnull
	var	0
	dup
	pnull
	var	2
	pnull
	pnull
	var	0
	int	8
	line	210
	colm	20
	synt	any
	mod
	int	0
	line	210
	colm	25
	synt	any
	plus
	line	210
	colm	17
	synt	any
	subsc
	line	210
	colm	9
	synt	any
	plus
	asgn
	unmark
lab L20
	line	211
	colm	7
	synt	every
	mark0
	mark	L23
	pnull
	var	1
	pnull
	var	3
	line	211
	colm	19
	synt	any
	bang
	line	211
	colm	16
	synt	any
	asgn
	line	211
	colm	25
	synt	any
	esusp
	goto	L24
lab L23
lab L25
	mark0
	var	6
	var	3
	pnull
	var	1
	var	7
	var	1
	line	211
	colm	50
	synt	any
	invoke	1
	line	211
	colm	39
	synt	any
	asgn
	line	211
	colm	31
	synt	any
	invoke	2
	chfail	L25
	esusp
lab L24
	pop
	mark0
	mark	L26
	line	212
	colm	10
	synt	if
	mark0
	pnull
	pnull
	var	0
	var	1
	line	212
	colm	15
	synt	any
	mod
	int	9
	line	212
	colm	19
	synt	any
	numeq
	unmark
	unmark
	unmark
	unmark
	pnull
	goto	L22
	line	212
	colm	10
	synt	endif
	unmark
lab L26
	line	214
	colm	10
	synt	if
	mark0
	pnull
	pnull
	var	1
	var	1
	line	214
	colm	15
	synt	any
	mult
	var	0
	line	214
	colm	19
	synt	any
	numgt
	unmark
	mark	L27
	var	0
	line	215
	colm	13
	synt	any
	pret
lab L27
	synt	any
	pfail
	line	214
	colm	10
	synt	endif
	unmark
lab L21
	efail
lab L22
	line	211
	colm	7
	synt	endevery
lab L18
	unmark
	goto	L17
lab L19
	line	209
	colm	4
	synt	endrepeat
	unmark
lab L16
	pnull
	line	219
	colm	1
	synt	any
	pfail
	end
proc prdecomp
	local	0,001000,i
	local	1,000020,decomp
	local	2,000020,count
	local	3,000020,p
	local	4,000000,prime
	local	5,000000,put
	con	0,002000,1,0
	con	1,002000,1,1
	declend
	line	221
	colm	11
	synt	any
	mark	L1
	pnull
	var	1
	pnull
	line	224
	colm	14
	synt	any
	llist	0
	line	224
	colm	11
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	line	225
	colm	4
	synt	every
	mark0
	pnull
	var	3
	var	4
	line	225
	colm	20
	synt	any
	invoke	0
	line	225
	colm	12
	synt	any
	asgn
	pop
	mark0
	mark	L5
	pnull
	var	2
	int	0
	line	226
	colm	13
	synt	any
	asgn
	unmark
lab L5
	mark	L6
lab L7
	line	227
	colm	7
	synt	while
	mark0
	pnull
	pnull
	var	0
	var	3
	line	227
	colm	15
	synt	any
	mod
	int	0
	line	227
	colm	19
	synt	any
	numeq
	unmark
	mark	L7
	mark	L10
	pnull
	var	2
	dup
	int	1
	line	228
	colm	16
	synt	any
	plus
	asgn
	unmark
lab L10
	pnull
	var	0
	dup
	var	3
	line	229
	colm	12
	synt	any
	div
	asgn
lab L8
	unmark
	goto	L7
lab L9
	line	227
	colm	7
	synt	endwhile
	unmark
lab L6
	mark	L11
	var	5
	var	1
	var	2
	line	231
	colm	10
	synt	any
	invoke	2
	unmark
lab L11
	line	232
	colm	7
	synt	if
	mark0
	pnull
	var	0
	int	1
	line	232
	colm	12
	synt	any
	numeq
	unmark
	unmark
	unmark
	pnull
	goto	L4
	line	232
	colm	7
	synt	endif
	unmark
lab L3
	efail
lab L4
	line	225
	colm	4
	synt	endevery
	unmark
lab L2
	mark	L12
	mark	L13
	var	1
	line	235
	colm	4
	synt	any
	pret
lab L13
	synt	any
	pfail
	unmark
lab L12
	pnull
	line	237
	colm	1
	synt	any
	pfail
	end
proc prime
	local	0,000020,i
	local	1,000020,k
	local	2,000000,seq
	local	3,000000,sqrt
	con	0,002000,1,2
	con	1,002000,1,3
	declend
	line	239
	colm	11
	synt	any
	mark	L1
	line	242
	colm	4
	synt	suspend
	mark0
	mark	L4
	int	0
	line	242
	colm	14
	synt	any
	esusp
	goto	L5
lab L4
	pnull
	var	0
	var	2
	int	1
	int	0
	line	242
	colm	26
	synt	any
	invoke	2
	line	242
	colm	20
	synt	any
	asgn
	pop
	mark	L6
	pnull
	var	0
	pnull
	pnull
	var	1
	pnull
	int	1
	var	3
	var	0
	line	242
	colm	61
	synt	any
	invoke	1
	int	0
	line	242
	colm	54
	synt	any
	toby
	line	242
	colm	48
	synt	any
	asgn
	pnull
	var	0
	var	1
	line	243
	colm	10
	synt	any
	div
	line	242
	colm	72
	synt	any
	mult
	line	242
	colm	43
	synt	any
	numeq
	unmark
	efail
lab L6
	pnull
	pop
	var	0
lab L5
	line	242
	colm	4
	synt	any
	psusp
	pop
lab L2
	efail
lab L3
	line	242
	colm	4
	synt	endsuspend
	unmark
lab L1
	pnull
	line	245
	colm	1
	synt	any
	pfail
	end
proc primel
	local	0,000020,pfile
	local	1,000000,dopen
	local	2,000000,stop
	con	0,010000,10,160,162,151,155,145,163,056,154,163,164
	con	1,010000,26,052,052,052,040,143,141,156,156,157,164,040,157,160,145,156,040,160,162,151,155,145,163,056,154,163,164
	declend
	line	247
	colm	11
	synt	any
	mark	L1
	pnull
	var	0
	mark	L2
	var	1
	str	0
	line	250
	colm	18
	synt	any
	invoke	1
	line	250
	colm	33
	synt	any
	esusp
	goto	L3
lab L2
	var	2
	str	1
	line	250
	colm	39
	synt	any
	invoke	1
lab L3
	line	250
	colm	10
	synt	any
	asgn
	unmark
lab L1
	mark	L4
	line	252
	colm	4
	synt	suspend
	mark0
	pnull
	var	0
	line	252
	colm	12
	synt	any
	bang
	line	252
	colm	4
	synt	any
	psusp
	pop
lab L5
	efail
lab L6
	line	252
	colm	4
	synt	endsuspend
	unmark
lab L4
	pnull
	line	254
	colm	1
	synt	any
	pfail
	end
proc primorial
	local	0,001000,i
	local	1,001000,j
	local	2,000020,m
	local	3,000020,k
	local	4,000020,mark
	local	5,000000,primel
	con	0,002000,1,1
	declend
	line	256
	colm	11
	synt	any
	mark	L1
	pnull
	pnull
	var	1
	line	259
	colm	4
	synt	any
	null
	int	0
	line	259
	colm	7
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	pnull
	var	2
	int	0
	line	261
	colm	6
	synt	any
	asgn
	unmark
lab L2
	mark	L3
	pnull
	var	4
	line	262
	colm	12
	synt	any
	keywd	null
	line	262
	colm	9
	synt	any
	asgn
	unmark
lab L3
	mark	L4
	line	264
	colm	4
	synt	every
	mark0
	pnull
	var	3
	var	5
	line	264
	colm	21
	synt	any
	invoke	0
	line	264
	colm	12
	synt	any
	asgn
	pop
	mark0
	mark	L7
	line	265
	colm	7
	synt	if
	mark0
	pnull
	var	3
	var	1
	line	265
	colm	12
	synt	any
	numle
	unmark
	unmark
	unmark
	goto	L5
	line	265
	colm	7
	synt	endif
	unmark
lab L7
	line	266
	colm	7
	synt	ifelse
	mark	L8
	pnull
	var	3
	var	0
	line	266
	colm	12
	synt	any
	numle
	unmark
	pnull
	var	2
	dup
	var	3
	line	266
	colm	24
	synt	any
	mult
	asgn
	goto	L9
lab L8
	mark	L10
	pnull
	var	4
	int	0
	line	268
	colm	15
	synt	any
	asgn
	unmark
lab L10
	unmark
	unmark
	pnull
	goto	L6
lab L9
	line	266
	colm	7
	synt	endifelse
	unmark
lab L5
	efail
lab L6
	line	264
	colm	4
	synt	endevery
	unmark
lab L4
	mark	L11
	line	273
	colm	4
	synt	ifelse
	mark	L12
	pnull
	var	4
	line	273
	colm	7
	synt	any
	nonnull
	unmark
	mark	L14
	var	2
	line	273
	colm	18
	synt	any
	pret
lab L14
	synt	any
	pfail
	goto	L13
lab L12
	line	273
	colm	32
	synt	any
	pfail
lab L13
	line	273
	colm	4
	synt	endifelse
	unmark
lab L11
	pnull
	line	275
	colm	1
	synt	any
	pfail
	end
proc sfactors
	local	0,001000,i
	local	1,001000,j
	local	2,000020,facts
	local	3,000020,result
	local	4,000020,term
	local	5,000020,nterm
	local	6,000020,count
	local	7,000000,factors
	local	8,000000,get
	con	0,010000,0
	con	1,002000,1,1
	con	2,010000,1,040
	con	3,010000,1,136
	con	4,002000,1,2
	con	5,002000,1,0
	declend
	line	277
	colm	11
	synt	any
	mark	L1
	pnull
	var	2
	var	7
	var	0
	var	1
	line	280
	colm	20
	synt	any
	invoke	2
	line	280
	colm	10
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	pnull
	var	3
	str	0
	line	282
	colm	11
	synt	any
	asgn
	unmark
lab L2
	mark	L3
	pnull
	var	4
	var	8
	var	2
	line	284
	colm	15
	synt	any
	invoke	1
	line	284
	colm	9
	synt	any
	asgn
	unmark
lab L3
	mark	L4
	pnull
	var	6
	int	1
	line	285
	colm	10
	synt	any
	asgn
	unmark
lab L4
	mark	L5
lab L6
	line	287
	colm	4
	synt	while
	mark0
	pnull
	var	5
	var	8
	var	2
	line	287
	colm	22
	synt	any
	invoke	1
	line	287
	colm	16
	synt	any
	asgn
	unmark
	mark	L6
	line	288
	colm	7
	synt	ifelse
	mark	L9
	pnull
	var	4
	var	5
	line	288
	colm	15
	synt	any
	numeq
	unmark
	pnull
	var	6
	dup
	int	1
	line	288
	colm	34
	synt	any
	plus
	asgn
	goto	L10
lab L9
	mark	L11
	line	290
	colm	10
	synt	ifelse
	mark	L12
	pnull
	var	6
	int	1
	line	290
	colm	19
	synt	any
	numgt
	unmark
	pnull
	var	3
	dup
	pnull
	pnull
	pnull
	str	2
	var	4
	line	290
	colm	44
	synt	any
	cat
	str	3
	line	290
	colm	52
	synt	any
	cat
	var	6
	line	290
	colm	59
	synt	any
	cat
	line	290
	colm	35
	synt	any
	cat
	asgn
	goto	L13
lab L12
	pnull
	var	3
	dup
	pnull
	str	2
	var	4
	line	291
	colm	31
	synt	any
	cat
	line	291
	colm	22
	synt	any
	cat
	asgn
lab L13
	line	290
	colm	10
	synt	endifelse
	unmark
lab L11
	mark	L14
	pnull
	var	6
	int	1
	line	292
	colm	16
	synt	any
	asgn
	unmark
lab L14
	pnull
	var	4
	var	5
	line	293
	colm	15
	synt	any
	asgn
lab L10
	line	288
	colm	7
	synt	endifelse
lab L7
	unmark
	goto	L6
lab L8
	line	287
	colm	4
	synt	endwhile
	unmark
lab L5
	mark	L15
	line	297
	colm	4
	synt	ifelse
	mark	L16
	pnull
	var	6
	int	1
	line	297
	colm	13
	synt	any
	numgt
	unmark
	pnull
	var	3
	dup
	pnull
	pnull
	pnull
	str	2
	var	4
	line	297
	colm	38
	synt	any
	cat
	str	3
	line	297
	colm	46
	synt	any
	cat
	var	6
	line	297
	colm	53
	synt	any
	cat
	line	297
	colm	29
	synt	any
	cat
	asgn
	goto	L17
lab L16
	pnull
	var	3
	dup
	pnull
	str	2
	var	4
	line	298
	colm	25
	synt	any
	cat
	line	298
	colm	16
	synt	any
	cat
	asgn
lab L17
	line	297
	colm	4
	synt	endifelse
	unmark
lab L15
	mark	L18
	mark	L19
	pnull
	var	3
	int	4
	int	5
	line	300
	colm	19
	synt	any
	synt	any
	sect
	line	300
	colm	4
	synt	any
	pret
lab L19
	synt	any
	pfail
	unmark
lab L18
	pnull
	line	302
	colm	1
	synt	any
	pfail
	end
proc squarefree
	local	0,001000,n
	local	1,000020,facts
	local	2,000000,factors
	local	3,000000,set
	declend
	line	304
	colm	11
	synt	any
	mark	L1
	pnull
	var	1
	var	2
	var	0
	line	307
	colm	20
	synt	any
	invoke	1
	line	307
	colm	10
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	line	309
	colm	4
	synt	ifelse
	mark	L3
	pnull
	pnull
	var	1
	line	309
	colm	7
	synt	any
	size
	pnull
	var	3
	var	1
	line	309
	colm	20
	synt	any
	invoke	1
	line	309
	colm	16
	synt	any
	size
	line	309
	colm	14
	synt	any
	numeq
	unmark
	mark	L5
	var	0
	line	309
	colm	33
	synt	any
	pret
lab L5
	synt	any
	pfail
	goto	L4
lab L3
	line	309
	colm	47
	synt	any
	pfail
lab L4
	line	309
	colm	4
	synt	endifelse
	unmark
lab L2
	pnull
	line	311
	colm	1
	synt	any
	pfail
	end
