proc ngrams
	filen	ngrams.icn
	local	0,001000,s
	local	1,001000,i
	local	2,001000,c
	local	3,001000,t
	local	4,000020,line
	local	5,000020,grams
	local	6,000020,a
	local	7,000020,count
	local	8,000020,f
	local	9,000000,integer
	local	10,000000,stop
	local	11,000000,cset
	local	12,000000,table
	local	13,000000,type
	local	14,000000,reads
	local	15,000000,tab
	local	16,000000,upto
	local	17,000000,many
	local	18,000000,move
	local	19,000000,sort
	local	20,000000,pull
	local	21,000000,right
	local	22,000000,get
	con	0,002000,1,0
	con	1,010000,32,052,052,052,040,151,156,166,141,154,151,144,040,156,147,162,141,155,163,040,163,160,145,143,151,146,151,143,141,164,151,157,156
	con	2,010000,30,052,052,052,040,151,156,166,141,154,151,144,040,143,163,145,164,040,163,160,145,143,151,146,151,143,141,164,151,157,156
	con	3,010000,4,146,151,154,145
	con	4,010000,0
	con	5,002000,4,1000
	con	6,002000,1,1
	con	7,002000,1,4
	con	8,002000,1,8
	con	9,002000,1,3
	declend
	line	29
	colm	11
	mark	L1
	mark0
	mark	L2
	pnull
	var	9
	var	1
	line	32
	colm	19
	invoke	1
	int	0
	line	32
	colm	23
	numgt
	unmark
	efail
lab L2
	pnull
	unmark
	var	10
	str	1
	line	32
	colm	37
	invoke	1
	unmark
lab L1
	mark	L3
	pnull
	pnull
	var	2
	line	34
	colm	4
	null
	pnull
	line	34
	colm	10
	keywd	lcase
	line	34
	colm	20
	keywd	ucase
	line	34
	colm	17
	cat
	line	34
	colm	7
	asgn
	unmark
lab L3
	mark	L4
	mark0
	mark	L5
	pnull
	var	2
	var	11
	var	2
	line	35
	colm	21
	invoke	1
	line	35
	colm	14
	asgn
	unmark
	efail
lab L5
	pnull
	unmark
	var	10
	str	2
	line	35
	colm	35
	invoke	1
	unmark
lab L4
	mark	L6
	pnull
	var	5
	var	12
	int	0
	line	37
	colm	18
	invoke	1
	line	37
	colm	10
	asgn
	unmark
lab L6
	mark	L7
	mark	L8
	pnull
	var	13
	var	0
	line	39
	colm	11
	invoke	1
	str	3
	line	39
	colm	15
	lexeq
	unmark
	mark	L10
	pnull
	var	4
	str	4
	line	40
	colm	12
	asgn
	unmark
lab L10
lab L11
	mark0
	pnull
	var	4
	dup
	var	14
	var	8
	int	5
	line	41
	colm	28
	invoke	2
	line	41
	colm	18
	cat
	asgn
lab L12
	unmark
	goto	L11
lab L13
	goto	L9
lab L8
	pnull
	var	4
	var	0
	line	43
	colm	14
	asgn
lab L9
	unmark
lab L7
	mark	L14
	var	4
	line	44
	colm	9
	bscan
lab L15
	mark0
	var	15
	var	16
	var	2
	line	44
	colm	25
	invoke	1
	line	44
	colm	20
	invoke	1
	unmark
	mark	L15
	int	6
	line	45
	colm	11
	limit
	var	15
	var	17
	var	2
	line	45
	colm	16
	invoke	1
	line	45
	colm	11
	invoke	1
	lsusp
	line	45
	colm	26
	bscan
lab L18
	mark0
	pnull
	pnull
	var	5
	var	18
	var	1
	line	45
	colm	44
	invoke	1
	line	45
	colm	39
	subsc
	dup
	int	6
	line	45
	colm	49
	plus
	asgn
	unmark
	mark	L18
	var	18
	pnull
	pnull
	var	1
	line	46
	colm	15
	neg
	int	6
	line	46
	colm	18
	plus
	line	46
	colm	14
	invoke	1
lab L19
	unmark
	goto	L18
lab L20
	line	45
	colm	26
	escan
lab L16
	unmark
	goto	L15
lab L17
	line	44
	colm	9
	escan
	unmark
lab L14
	mark	L21
	mark	L22
	pnull
	var	3
	line	47
	colm	7
	null
	unmark
	mark	L24
	pnull
	var	6
	var	19
	var	5
	int	7
	line	48
	colm	16
	invoke	2
	line	48
	colm	9
	asgn
	unmark
lab L24
lab L25
	mark0
	pnull
	var	7
	var	20
	var	6
	line	49
	colm	26
	invoke	1
	line	49
	colm	19
	asgn
	unmark
	mark	L25
	mark0
	pnull
	var	20
	var	6
	line	50
	colm	22
	invoke	1
	var	21
	var	7
	int	8
	line	50
	colm	34
	invoke	2
	line	50
	colm	26
	cat
	line	50
	colm	10
	psusp
	pop
lab L28
	efail
lab L29
lab L26
	unmark
	goto	L25
lab L27
	goto	L23
lab L22
	mark	L30
	pnull
	var	6
	var	19
	var	5
	int	9
	line	53
	colm	16
	invoke	2
	line	53
	colm	9
	asgn
	unmark
lab L30
	mark0
lab L33
	mark0
	pnull
	var	22
	var	6
	line	54
	colm	20
	invoke	1
	var	21
	var	22
	var	6
	line	54
	colm	36
	invoke	1
	int	8
	line	54
	colm	32
	invoke	2
	line	54
	colm	24
	cat
	chfail	L33
	esusp
	line	54
	colm	7
	psusp
	pop
lab L31
	efail
lab L32
lab L23
	unmark
lab L21
	pnull
	line	56
	colm	1
	pfail
	end
proc ngramset
	local	0,001000,s
	local	1,001000,i
	local	2,001000,c
	local	3,000020,line
	local	4,000020,grams
	local	5,000020,a
	local	6,000020,count
	local	7,000020,f
	local	8,000000,integer
	local	9,000000,stop
	local	10,000000,cset
	local	11,000000,set
	local	12,000000,type
	local	13,000000,reads
	local	14,000000,tab
	local	15,000000,upto
	local	16,000000,many
	local	17,000000,insert
	local	18,000000,move
	con	0,002000,1,0
	con	1,010000,32,052,052,052,040,151,156,166,141,154,151,144,040,156,147,162,141,155,163,040,163,160,145,143,151,146,151,143,141,164,151,157,156
	con	2,010000,30,052,052,052,040,151,156,166,141,154,151,144,040,143,163,145,164,040,163,160,145,143,151,146,151,143,141,164,151,157,156
	con	3,010000,4,146,151,154,145
	con	4,010000,0
	con	5,002000,4,1000
	con	6,002000,1,1
	declend
	line	58
	colm	11
	mark	L1
	mark0
	mark	L2
	pnull
	var	8
	var	1
	line	61
	colm	19
	invoke	1
	int	0
	line	61
	colm	23
	numgt
	unmark
	efail
lab L2
	pnull
	unmark
	var	9
	str	1
	line	61
	colm	37
	invoke	1
	unmark
lab L1
	mark	L3
	pnull
	pnull
	var	2
	line	63
	colm	4
	null
	pnull
	line	63
	colm	10
	keywd	lcase
	line	63
	colm	20
	keywd	ucase
	line	63
	colm	17
	cat
	line	63
	colm	7
	asgn
	unmark
lab L3
	mark	L4
	mark0
	mark	L5
	pnull
	var	2
	var	10
	var	2
	line	64
	colm	21
	invoke	1
	line	64
	colm	14
	asgn
	unmark
	efail
lab L5
	pnull
	unmark
	var	9
	str	2
	line	64
	colm	35
	invoke	1
	unmark
lab L4
	mark	L6
	pnull
	var	4
	var	11
	line	66
	colm	16
	invoke	0
	line	66
	colm	10
	asgn
	unmark
lab L6
	mark	L7
	mark	L8
	pnull
	var	12
	var	0
	line	68
	colm	11
	invoke	1
	str	3
	line	68
	colm	15
	lexeq
	unmark
	mark	L10
	pnull
	var	3
	str	4
	line	69
	colm	12
	asgn
	unmark
lab L10
lab L11
	mark0
	pnull
	var	3
	dup
	var	13
	var	7
	int	5
	line	70
	colm	28
	invoke	2
	line	70
	colm	18
	cat
	asgn
lab L12
	unmark
	goto	L11
lab L13
	goto	L9
lab L8
	pnull
	var	3
	var	0
	line	72
	colm	14
	asgn
lab L9
	unmark
lab L7
	mark	L14
	var	3
	line	74
	colm	9
	bscan
lab L15
	mark0
	var	14
	var	15
	var	2
	line	74
	colm	25
	invoke	1
	line	74
	colm	20
	invoke	1
	unmark
	mark	L15
	int	6
	line	75
	colm	11
	limit
	var	14
	var	16
	var	2
	line	75
	colm	16
	invoke	1
	line	75
	colm	11
	invoke	1
	lsusp
	line	75
	colm	26
	bscan
lab L18
	mark0
	var	17
	var	4
	var	18
	var	1
	line	75
	colm	52
	invoke	1
	line	75
	colm	40
	invoke	2
	unmark
	mark	L18
	var	18
	pnull
	pnull
	var	1
	line	76
	colm	15
	neg
	int	6
	line	76
	colm	18
	plus
	line	76
	colm	14
	invoke	1
lab L19
	unmark
	goto	L18
lab L20
	line	75
	colm	26
	escan
lab L16
	unmark
	goto	L15
lab L17
	line	74
	colm	9
	escan
	unmark
lab L14
	mark	L21
	mark	L22
	var	4
	line	78
	colm	4
	pret
lab L22
	pfail
	unmark
lab L21
	pnull
	line	80
	colm	1
	pfail
	end
