proc divisors
	filen	factors.icn
	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
	line	77
	colm	11
	mark	L1
	pnull
	var	2
	pnull
	line	80
	colm	13
	llist	0
	line	80
	colm	10
	asgn
	unmark
lab L1
	mark	L2
	mark0
	pnull
	var	1
	var	3
	line	81
	colm	18
	invoke	0
	line	81
	colm	12
	asgn
	pop
	mark0
	mark	L5
	mark0
	pnull
	pnull
	var	1
	var	1
	line	82
	colm	12
	mult
	var	0
	line	82
	colm	16
	numge
	unmark
	unmark
	unmark
	unmark
	pnull
	goto	L4
	unmark
lab L5
	mark0
	pnull
	pnull
	var	0
	var	1
	line	84
	colm	12
	mod
	int	0
	line	84
	colm	16
	numeq
	unmark
	mark	L6
	var	4
	var	2
	var	1
	line	85
	colm	14
	invoke	2
	unmark
lab L6
	mark0
	var	1
	line	86
	colm	10
	psusp
	pop
lab L7
	efail
lab L8
	unmark
lab L3
	efail
lab L4
	unmark
lab L2
	mark	L9
	mark0
	pnull
	pnull
	var	1
	var	1
	line	89
	colm	9
	mult
	var	0
	line	89
	colm	13
	numeq
	unmark
	mark0
	var	1
	line	90
	colm	7
	psusp
	pop
lab L10
	efail
lab L11
	unmark
lab L9
	mark	L12
	mark0
	pnull
	var	0
	pnull
	var	2
	line	91
	colm	16
	bang
	line	91
	colm	14
	div
	line	91
	colm	4
	psusp
	pop
lab L13
	efail
lab L14
	unmark
lab L12
	pnull
	line	93
	colm	1
	pfail
	end
proc divisorl
	local	0,001000,n
	local	1,000020,divs
	local	2,000000,put
	local	3,000000,divisors
	declend
	line	95
	colm	11
	mark	L1
	mark0
	var	2
	pnull
	var	1
	pnull
	line	97
	colm	22
	llist	0
	line	97
	colm	19
	asgn
	var	3
	var	0
	line	97
	colm	34
	invoke	1
	line	97
	colm	13
	invoke	2
	pop
lab L2
	efail
lab L3
	unmark
lab L1
	mark	L4
	mark	L5
	var	1
	line	98
	colm	4
	pret
lab L5
	pfail
	unmark
lab L4
	pnull
	line	99
	colm	1
	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	101
	colm	11
	mark	L1
	pnull
	var	0
	mark	L2
	var	2
	var	0
	line	104
	colm	16
	invoke	1
	esusp
	goto	L3
lab L2
	var	3
	int	0
	var	0
	line	104
	colm	28
	invoke	2
lab L3
	line	104
	colm	6
	asgn
	unmark
lab L1
	mark	L4
	mark0
	pnull
	var	0
	int	1
	line	106
	colm	9
	numlt
	unmark
	line	106
	colm	18
	pfail
	unmark
lab L4
	mark	L5
	pnull
	var	1
	int	2
	line	108
	colm	6
	asgn
	unmark
lab L5
	mark	L6
	mark0
	pnull
	var	1
	dup
	pnull
	int	2
	var	0
	push1
	line	110
	colm	18
	toby
	line	110
	colm	12
	mult
	asgn
	pop
lab L7
	efail
lab L8
	unmark
lab L6
	mark	L9
	mark	L10
	var	1
	line	112
	colm	4
	pret
lab L10
	pfail
	unmark
lab L9
	pnull
	line	114
	colm	1
	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	116
	colm	11
	mark	L1
	mark0
	var	3
	pnull
	var	2
	pnull
	line	119
	colm	23
	llist	0
	line	119
	colm	20
	asgn
	var	4
	var	0
	var	1
	line	119
	colm	37
	invoke	2
	line	119
	colm	13
	invoke	2
	pop
lab L2
	efail
lab L3
	unmark
lab L1
	mark	L4
	mark	L5
	var	2
	line	120
	colm	4
	pret
lab L5
	pfail
	unmark
lab L4
	pnull
	line	122
	colm	1
	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	124
	colm	11
	mark	L1
	pnull
	var	0
	mark	L2
	var	3
	var	0
	line	127
	colm	16
	invoke	1
	esusp
	goto	L3
lab L2
	var	4
	int	0
	var	0
	line	127
	colm	28
	invoke	2
lab L3
	line	127
	colm	6
	asgn
	unmark
lab L1
	mark	L4
	pnull
	pnull
	var	1
	line	128
	colm	4
	null
	var	0
	line	128
	colm	7
	asgn
	unmark
lab L4
	mark	L5
	mark0
	pnull
	var	2
	var	5
	line	130
	colm	20
	invoke	0
	line	130
	colm	12
	asgn
	pop
	mark0
	mark	L8
	mark0
	mark	L9
	pnull
	var	2
	var	1
	line	131
	colm	12
	numgt
	esusp
	goto	L10
lab L9
	pnull
	pnull
	var	2
	var	2
	line	131
	colm	20
	mult
	var	0
	line	131
	colm	24
	numgt
lab L10
	unmark
	unmark
	unmark
	unmark
	pnull
	goto	L7
	unmark
lab L8
	mark	L11
lab L12
	mark0
	pnull
	pnull
	var	0
	var	2
	line	132
	colm	15
	mod
	int	1
	line	132
	colm	19
	numeq
	unmark
	mark	L12
	mark	L15
	mark0
	var	2
	line	133
	colm	10
	psusp
	pop
lab L16
	efail
lab L17
	unmark
lab L15
	pnull
	var	0
	dup
	var	2
	line	134
	colm	12
	div
	asgn
lab L13
	unmark
	goto	L12
lab L14
	unmark
lab L11
	mark0
	pnull
	var	0
	int	2
	line	136
	colm	12
	numeq
	unmark
	unmark
	unmark
	pnull
	goto	L7
	unmark
lab L6
	efail
lab L7
	unmark
lab L5
	mark	L18
	mark0
	pnull
	var	0
	int	2
	line	138
	colm	9
	numgt
	unmark
	mark0
	var	0
	line	138
	colm	18
	psusp
	pop
lab L19
	efail
lab L20
	unmark
lab L18
	pnull
	line	140
	colm	1
	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	142
	colm	11
	mark	L1
	pnull
	var	0
	mark	L2
	var	3
	var	0
	line	145
	colm	16
	invoke	1
	esusp
	goto	L3
lab L2
	var	4
	int	0
	var	0
	line	145
	colm	28
	invoke	2
lab L3
	line	145
	colm	6
	asgn
	unmark
lab L1
	mark	L4
	pnull
	var	1
	mark	L5
	var	3
	var	1
	line	146
	colm	16
	invoke	1
	esusp
	goto	L6
lab L5
	int	1
lab L6
	line	146
	colm	6
	asgn
	unmark
lab L4
	mark	L7
	mark0
	pnull
	var	0
	int	2
	line	148
	colm	9
	numlt
	unmark
	line	148
	colm	18
	pfail
	unmark
lab L7
	mark	L8
	mark0
	pnull
	var	1
	int	1
	line	149
	colm	9
	numlt
	unmark
	line	149
	colm	18
	pfail
	unmark
lab L8
	mark	L9
	pnull
	var	2
	var	0
	line	151
	colm	6
	asgn
	unmark
lab L9
	mark	L10
lab L11
	mark0
	pnull
	var	0
	var	1
	line	153
	colm	12
	numgt
	unmark
	mark	L11
	mark	L14
	pnull
	var	0
	dup
	var	1
	line	154
	colm	9
	minus
	asgn
	unmark
lab L14
	pnull
	var	2
	dup
	var	0
	line	155
	colm	9
	mult
	asgn
lab L12
	unmark
	goto	L11
lab L13
	unmark
lab L10
	mark	L15
	mark	L16
	var	2
	line	158
	colm	4
	pret
lab L16
	pfail
	unmark
lab L15
	pnull
	line	160
	colm	1
	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	162
	colm	11
	mark	L1
	pnull
	var	0
	mark	L2
	var	3
	var	0
	line	165
	colm	16
	invoke	1
	esusp
	goto	L3
lab L2
	var	4
	int	0
	var	0
	line	165
	colm	28
	invoke	2
lab L3
	line	165
	colm	6
	asgn
	unmark
lab L1
	mark	L4
	pnull
	var	1
	pnull
	line	166
	colm	13
	llist	0
	line	166
	colm	10
	asgn
	unmark
lab L4
	mark	L5
	mark0
	pnull
	var	2
	var	5
	line	167
	colm	20
	invoke	0
	line	167
	colm	12
	asgn
	pop
	mark0
	mark	L8
	mark0
	pnull
	var	2
	var	0
	line	168
	colm	12
	numgt
	unmark
	unmark
	unmark
	unmark
	pnull
	goto	L7
	unmark
lab L8
	mark0
	pnull
	pnull
	var	0
	var	2
	line	169
	colm	12
	mod
	int	1
	line	169
	colm	16
	numeq
	unmark
	mark	L9
	var	6
	var	1
	var	2
	line	170
	colm	13
	invoke	2
	unmark
lab L9
lab L10
	mark0
	pnull
	pnull
	var	0
	var	2
	line	171
	colm	18
	mod
	int	1
	line	171
	colm	22
	numeq
	unmark
	mark	L10
	pnull
	var	0
	dup
	var	2
	line	172
	colm	15
	div
	asgn
lab L11
	unmark
	goto	L10
lab L12
	unmark
lab L6
	efail
lab L7
	unmark
lab L5
	mark	L13
	mark	L14
	var	1
	line	176
	colm	4
	pret
lab L14
	pfail
	unmark
lab L13
	pnull
	line	178
	colm	1
	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	180
	colm	11
	mark	L1
	pnull
	var	2
	pnull
	pnull
	var	3
	var	4
	pnull
	var	0
	pnull
	real	0
	var	1
	line	183
	colm	30
	div
	line	183
	colm	23
	power
	line	183
	colm	20
	invoke	1
	line	183
	colm	12
	asgn
	var	1
	line	183
	colm	37
	power
	line	183
	colm	6
	asgn
	unmark
lab L1
	mark	L2
	mark	L3
	pnull
	var	2
	var	0
	line	184
	colm	9
	numeq
	unmark
	mark	L5
	var	3
	line	184
	colm	18
	pret
lab L5
	pfail
	goto	L4
lab L3
	line	184
	colm	32
	pfail
lab L4
	unmark
lab L2
	pnull
	line	186
	colm	1
	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	192
	colm	11
	mark	L1
	pnull
	var	0
	mark	L2
	var	2
	var	0
	line	195
	colm	16
	invoke	1
	esusp
	goto	L3
lab L2
	var	3
	int	0
	var	0
	line	195
	colm	28
	invoke	2
lab L3
	line	195
	colm	6
	asgn
	unmark
lab L1
	mark	L4
	mark0
	pnull
	var	0
	int	1
	line	196
	colm	9
	numle
	unmark
	line	196
	colm	19
	pfail
	unmark
lab L4
	mark	L5
	mark0
	pnull
	var	1
	var	4
	line	197
	colm	20
	invoke	0
	line	197
	colm	12
	asgn
	pop
	mark0
	mark	L8
	mark0
	pnull
	pnull
	var	1
	var	1
	line	198
	colm	12
	mult
	var	0
	line	198
	colm	16
	numgt
	unmark
	mark	L9
	var	0
	line	198
	colm	25
	pret
lab L9
	pfail
	unmark
lab L8
	mark0
	pnull
	pnull
	var	0
	var	1
	line	199
	colm	12
	mod
	int	2
	line	199
	colm	16
	numeq
	unmark
	line	199
	colm	25
	pfail
	unmark
lab L6
	efail
lab L7
	unmark
lab L5
	pnull
	line	202
	colm	1
	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	204
	colm	11
	init	L1
	mark	L1
	mark	L2
	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	209
	colm	15
	llist	30
	line	209
	colm	12
	asgn
	unmark
lab L2
	pnull
	var	3
	pnull
	int	6
	line	210
	colm	14
	llist	1
	line	210
	colm	11
	asgn
	unmark
lab L1
	mark	L3
	pnull
	var	0
	mark	L4
	var	4
	var	0
	line	213
	colm	16
	invoke	1
	esusp
	goto	L5
lab L4
	var	5
	int	7
	var	0
	line	213
	colm	28
	invoke	2
lab L5
	line	213
	colm	6
	asgn
	unmark
lab L3
	mark	L6
	mark0
	pnull
	var	0
	int	6
	line	214
	colm	9
	numlt
	unmark
	mark	L7
	pnull
	var	0
	mark	L8
	int	5
	esusp
	goto	L9
lab L8
	mark	L10
	int	4
	esusp
	goto	L11
lab L10
	mark	L12
	int	2
	esusp
	goto	L13
lab L12
	int	6
lab L13
lab L11
lab L9
	line	215
	colm	16
	numlt
	line	215
	colm	7
	pret
lab L7
	pfail
	unmark
lab L6
	mark	L14
lab L15
	mark	L15
	mark	L18
	pnull
	var	0
	dup
	pnull
	var	2
	pnull
	pnull
	var	0
	int	8
	line	218
	colm	20
	mod
	int	0
	line	218
	colm	25
	plus
	line	218
	colm	17
	subsc
	line	218
	colm	9
	plus
	asgn
	unmark
lab L18
	mark0
	mark	L21
	pnull
	var	1
	pnull
	var	3
	line	219
	colm	19
	bang
	line	219
	colm	16
	asgn
	esusp
	goto	L22
lab L21
lab L23
	mark0
	var	6
	var	3
	pnull
	var	1
	var	7
	var	1
	line	219
	colm	50
	invoke	1
	line	219
	colm	39
	asgn
	line	219
	colm	31
	invoke	2
	chfail	L23
	esusp
lab L22
	pop
	mark0
	mark	L24
	mark0
	pnull
	pnull
	var	0
	var	1
	line	220
	colm	15
	mod
	int	9
	line	220
	colm	19
	numeq
	unmark
	unmark
	unmark
	unmark
	pnull
	goto	L20
	unmark
lab L24
	mark0
	pnull
	pnull
	var	1
	var	1
	line	222
	colm	15
	mult
	var	0
	line	222
	colm	19
	numgt
	unmark
	mark	L25
	var	0
	line	223
	colm	13
	pret
lab L25
	pfail
	unmark
lab L19
	efail
lab L20
lab L16
	unmark
	goto	L15
lab L17
	unmark
lab L14
	pnull
	line	227
	colm	1
	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	229
	colm	11
	mark	L1
	pnull
	var	1
	pnull
	line	232
	colm	14
	llist	0
	line	232
	colm	11
	asgn
	unmark
lab L1
	mark	L2
	mark0
	pnull
	var	3
	var	4
	line	233
	colm	20
	invoke	0
	line	233
	colm	12
	asgn
	pop
	mark0
	mark	L5
	pnull
	var	2
	int	0
	line	234
	colm	13
	asgn
	unmark
lab L5
	mark	L6
lab L7
	mark0
	pnull
	pnull
	var	0
	var	3
	line	235
	colm	15
	mod
	int	0
	line	235
	colm	19
	numeq
	unmark
	mark	L7
	mark	L10
	pnull
	var	2
	dup
	int	1
	line	236
	colm	16
	plus
	asgn
	unmark
lab L10
	pnull
	var	0
	dup
	var	3
	line	237
	colm	12
	div
	asgn
lab L8
	unmark
	goto	L7
lab L9
	unmark
lab L6
	mark	L11
	var	5
	var	1
	var	2
	line	239
	colm	10
	invoke	2
	unmark
lab L11
	mark0
	pnull
	var	0
	int	1
	line	240
	colm	12
	numeq
	unmark
	unmark
	unmark
	pnull
	goto	L4
	unmark
lab L3
	efail
lab L4
	unmark
lab L2
	mark	L12
	mark	L13
	var	1
	line	243
	colm	4
	pret
lab L13
	pfail
	unmark
lab L12
	pnull
	line	245
	colm	1
	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	247
	colm	11
	mark	L1
	mark0
	mark	L4
	int	0
	esusp
	goto	L5
lab L4
	pnull
	var	0
	var	2
	int	1
	int	0
	line	250
	colm	26
	invoke	2
	line	250
	colm	20
	asgn
	pop
	mark	L6
	pnull
	var	0
	pnull
	pnull
	var	1
	pnull
	int	1
	var	3
	var	0
	line	250
	colm	61
	invoke	1
	int	0
	line	250
	colm	54
	toby
	line	250
	colm	48
	asgn
	pnull
	var	0
	var	1
	line	251
	colm	10
	div
	line	250
	colm	72
	mult
	line	250
	colm	43
	numeq
	unmark
	efail
lab L6
	pnull
	pop
	var	0
lab L5
	line	250
	colm	4
	psusp
	pop
lab L2
	efail
lab L3
	unmark
lab L1
	pnull
	line	253
	colm	1
	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	255
	colm	11
	mark	L1
	pnull
	var	0
	mark	L2
	var	1
	str	0
	line	258
	colm	18
	invoke	1
	esusp
	goto	L3
lab L2
	var	2
	str	1
	line	258
	colm	39
	invoke	1
lab L3
	line	258
	colm	10
	asgn
	unmark
lab L1
	mark	L4
	mark0
	pnull
	var	0
	line	260
	colm	12
	bang
	line	260
	colm	4
	psusp
	pop
lab L5
	efail
lab L6
	unmark
lab L4
	pnull
	line	262
	colm	1
	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	264
	colm	11
	mark	L1
	pnull
	pnull
	var	1
	line	267
	colm	4
	null
	int	0
	line	267
	colm	7
	asgn
	unmark
lab L1
	mark	L2
	pnull
	var	2
	int	0
	line	269
	colm	6
	asgn
	unmark
lab L2
	mark	L3
	pnull
	var	4
	line	270
	colm	12
	keywd	null
	line	270
	colm	9
	asgn
	unmark
lab L3
	mark	L4
	mark0
	pnull
	var	3
	var	5
	line	272
	colm	21
	invoke	0
	line	272
	colm	12
	asgn
	pop
	mark0
	mark	L7
	mark0
	pnull
	var	3
	var	1
	line	273
	colm	12
	numle
	unmark
	unmark
	unmark
	goto	L5
	unmark
lab L7
	mark	L8
	pnull
	var	3
	var	0
	line	274
	colm	12
	numle
	unmark
	pnull
	var	2
	dup
	var	3
	line	274
	colm	24
	mult
	asgn
	goto	L9
lab L8
	mark	L10
	pnull
	var	4
	int	0
	line	276
	colm	15
	asgn
	unmark
lab L10
	unmark
	unmark
	pnull
	goto	L6
lab L9
	unmark
lab L5
	efail
lab L6
	unmark
lab L4
	mark	L11
	mark	L12
	pnull
	var	4
	line	281
	colm	7
	nonnull
	unmark
	mark	L14
	var	2
	line	281
	colm	18
	pret
lab L14
	pfail
	goto	L13
lab L12
	line	281
	colm	32
	pfail
lab L13
	unmark
lab L11
	pnull
	line	283
	colm	1
	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	285
	colm	11
	mark	L1
	pnull
	var	2
	var	7
	var	0
	var	1
	line	288
	colm	20
	invoke	2
	line	288
	colm	10
	asgn
	unmark
lab L1
	mark	L2
	pnull
	var	3
	str	0
	line	290
	colm	11
	asgn
	unmark
lab L2
	mark	L3
	pnull
	var	4
	var	8
	var	2
	line	292
	colm	15
	invoke	1
	line	292
	colm	9
	asgn
	unmark
lab L3
	mark	L4
	pnull
	var	6
	int	1
	line	293
	colm	10
	asgn
	unmark
lab L4
	mark	L5
lab L6
	mark0
	pnull
	var	5
	var	8
	var	2
	line	295
	colm	22
	invoke	1
	line	295
	colm	16
	asgn
	unmark
	mark	L6
	mark	L9
	pnull
	var	4
	var	5
	line	296
	colm	15
	numeq
	unmark
	pnull
	var	6
	dup
	int	1
	line	296
	colm	34
	plus
	asgn
	goto	L10
lab L9
	mark	L11
	mark	L12
	pnull
	var	6
	int	1
	line	298
	colm	19
	numgt
	unmark
	pnull
	var	3
	dup
	pnull
	pnull
	pnull
	str	2
	var	4
	line	298
	colm	44
	cat
	str	3
	line	298
	colm	52
	cat
	var	6
	line	298
	colm	59
	cat
	line	298
	colm	35
	cat
	asgn
	goto	L13
lab L12
	pnull
	var	3
	dup
	pnull
	str	2
	var	4
	line	299
	colm	31
	cat
	line	299
	colm	22
	cat
	asgn
lab L13
	unmark
lab L11
	mark	L14
	pnull
	var	6
	int	1
	line	300
	colm	16
	asgn
	unmark
lab L14
	pnull
	var	4
	var	5
	line	301
	colm	15
	asgn
lab L10
lab L7
	unmark
	goto	L6
lab L8
	unmark
lab L5
	mark	L15
	mark	L16
	pnull
	var	6
	int	1
	line	305
	colm	13
	numgt
	unmark
	pnull
	var	3
	dup
	pnull
	pnull
	pnull
	str	2
	var	4
	line	305
	colm	38
	cat
	str	3
	line	305
	colm	46
	cat
	var	6
	line	305
	colm	53
	cat
	line	305
	colm	29
	cat
	asgn
	goto	L17
lab L16
	pnull
	var	3
	dup
	pnull
	str	2
	var	4
	line	306
	colm	25
	cat
	line	306
	colm	16
	cat
	asgn
lab L17
	unmark
lab L15
	mark	L18
	mark	L19
	pnull
	var	3
	int	4
	int	5
	line	308
	colm	19
	sect
	line	308
	colm	4
	pret
lab L19
	pfail
	unmark
lab L18
	pnull
	line	310
	colm	1
	pfail
	end
proc squarefree
	local	0,001000,n
	local	1,000020,facts
	local	2,000000,factors
	local	3,000000,set
	declend
	line	312
	colm	11
	mark	L1
	pnull
	var	1
	var	2
	var	0
	line	315
	colm	20
	invoke	1
	line	315
	colm	10
	asgn
	unmark
lab L1
	mark	L2
	mark	L3
	pnull
	pnull
	var	1
	line	317
	colm	7
	size
	pnull
	var	3
	var	1
	line	317
	colm	20
	invoke	1
	line	317
	colm	16
	size
	line	317
	colm	14
	numeq
	unmark
	mark	L5
	var	0
	line	317
	colm	33
	pret
lab L5
	pfail
	goto	L4
lab L3
	line	317
	colm	47
	pfail
lab L4
	unmark
lab L2
	pnull
	line	319
	colm	1
	pfail
	end
