;:sys36864
	;.opt oo
	*= $c000
usrvk	=785
puffer	=$cf00
string	=46184
cmpfac	=48219
sign	=102
abs	=48216
int	=48332
expo	=97
fetstr	=46215
zahl	=256
facasc	=48605
facfac3	=$bbca
memfac	=$bba2
fac3	=$57
	lda #<usr
	ldy #>usr
	sta usrvk
	sty usrvk+1
	rts
signc	brk
hun	brk
zeh	brk
ein	brk
puffz	brk
xmerk	brk
last	brk
ebene	brk
point	.byt 102,0,3,7,11,15,20,24,28,32,36,40,43
table	.byte "eiNzweIdreIvieRfuenFsecHsieBachTneuNzehN"
	.byte "elFzwoelFunDhunderTtausenDzwanziGdreissiG"
	.byte "minus\xa0SeN millioNen\xa0EnulL kommA"
setv	.byt 192
usr	lda sign
	sta signc
	jsr abs
	lda #189
	tay
	jsr cmpfac
	bmi rechne
	lda signc
	sta sign
	jmp string
rechne	ldx #0
	stx puffz
	stx hun
	jsr facfac3
	jsr int
	lda signc
	bpl posi
	ldy #81
	jsr text
posi	lda expo
	bne nonull
	ldy #102
	jsr text
	jmp satt
nonull	jsr facasc
	ldx #0
	ldy #-1
	stx zahl
	stx ebene
leas	lda zahl+1,x
	php
	and #15
	sta zahl+1,x
	plp
	beq nullp
	inx
	iny
	cpy #3
	bcc leas
	inc ebene
	ldy #0
	beq leas
nullp	ldx #1
	cpy #1
	beq zweiz
	tya
	beq einez
dreiz	ldy zahl,x
	sty hun
	beq nohun
	jsr rein
	jsr korrh
	ldy #52
	jsr text
nohun	inx
zweiz	inx
einez	lda zahl,x
	sta ein
	dex
	lda zahl,x
	sta zeh
	cmp #1
	bne no12
	lda ein
	beq iszehn
	ldy #11
	cmp #1
	beq iself
	cmp #2
	bne no12
	iny
iself	jsr rein
	jmp wars
no12	ldy ein
	beq nil
	jsr rein
	jsr korre
nil	lda zeh
	beq wars
	cmp #1
	bne norma
iszehn	ldy #10
	jsr rein
	jmp wars
norma	ldy ein
	beq nahun
	pha
	ldy #49
	jsr text
	pla
nahun	cmp #2
	beq zwzig
	cmp #3
	bne vierz
	ldy #73
	.byt $2c
zwzig	ldy #66
	jsr text
	jmp wars
vierz	ldy zeh
	jsr rein
	ldy #70
	jsr text
wars	clv
	lda hun
	bne sperr
	lda zeh
	bne sperr
	lda ein
	beq nill
	cmp #1
	bne sperr
	lda ebene
	cmp #2
	bne sperr
	ldy #101
	jsr text
	bit setv
sperr	lda ebene
	cmp #2
	bne arm
	ldy #90
	jsr text
	bvc skip
	ldy #100
	.byt $2c
skip	ldy #98
	jsr text
arm	cmp #1
	bne nill
	ldy #59
	jsr text
nill	inx
	inx
	dec ebene
	bmi satt
	jmp dreiz
satt	pla
	pla
	lda #<fac3
	ldy #0
	jsr memfac
	jsr facasc
	ldx #0
suchnk	inx
	lda zahl,x
	beq naus
	cmp #"."
	bne suchnk
	ldy #106
	jsr text
suchvk	inx
	lda zahl,x
	beq naus
	and #15
	pha
	ldy #100
	jsr text
	pla
	tay
	jsr rein
	jsr korrn
	jmp suchvk
naus	ldx puffz
	lda #0
	sta puffer,x
	lda #<puffer
	ldy #>puffer
	jmp fetstr
rein	sty last
	lda point,y
	tay
text	stx xmerk
	ldx puffz
drin	lda table,y
	php
	and #127
	sta puffer,x
	inx
	iny
	plp
	bpl drin
	stx puffz
	ldx xmerk
	rts
korre	lda last
	cmp #1
	bne noeis
	lda ebene
	bne noeis
	lda zeh
	bne noeis
ns	ldy #87
	bne text
korrh	sec
	.byt $24
noeis	clc
	php
	lda last
	cmp #7
	beq sieb
	cmp #6
	beq sex
	plp
retn	rts
sieb	ldy #88
	.byt $2c
sex	ldy #87
	plp
	bcs text
	lda zeh
	cmp #1
	bne text
	rts
korrn	lda last
	cmp #1
	beq ns
	bne korrh
