

;
; +-------------------------------------------------------------------------+
; |   This file	has been generated by The Interactive Disassembler (IDA)    |
; |	      Copyright	(c) 2011 Hex-Rays, <support@hex-rays.com>	    |
; |			 License info: 48-327F-7274-B7			    |
; |			       ESET spol. s r.o.			    |
; +-------------------------------------------------------------------------+
;
; Input	MD5   :	C1AABA9DECBA7F4881121F8F605B474D
; Input	CRC32 :	46449F31

; File Name   :	C:\DiSassembler\1.hex
; Format      :	Intel Hex Object Format

; Processor	  : PIC16Cxx
; Target assembler: Microchip's MPALC
include	"P16F873A.INC"


; ===========================================================================

; Segment type:	Pure code
		; .text	(CODE)
; assume bank =	0
; assume pclath	= 0

; =============== S U B	R O U T	I N E =======================================

; Reset	Vector

		; public RESET
RESET:

; FUNCTION CHUNK AT 009B SIZE 00000003 BYTES
; FUNCTION CHUNK AT 00A7 SIZE 0000001B BYTES

		nop
		b	loc_CODE_A7
; End of function RESET

; ---------------------------------------------------------------------------
		res 1
		res 1

; =============== S U B	R O U T	I N E =======================================

; Interrupt Vector

		; public ISR
ISR:
		movwf	byte_DATA_20
		movfw	BANK0:STATUS
		bcf	BANK0:STATUS, RP0
		movwf	byte_DATA_21
		bcf	BANK0:PIR1, TMR2IF
		incf	byte_DATA_2B, f
		movlw	96 ; '–'
		subwf	byte_DATA_2B, w
		bnz	loc_CODE_12
		clrf	byte_DATA_2B
		movfw	BANK0:TMR0
		movwf	byte_DATA_2E
		clrf	BANK0:TMR0

loc_CODE_12:				; CODE XREF: ISR+8j
		clrf	BANK0:PORTC
		comf	BANK0:INDF, w
		movwf	BANK0:PORTB
		movlw	23 ; '#'
		subwf	BANK0:FSR, w
		call	sub_CODE_26
		movwf	BANK0:PORTC
		incf	BANK0:FSR, f
		movlw	2B ; '+'
		subwf	BANK0:FSR, w
		bnz	loc_CODE_20
		movlw	byte_DATA_23
		movwf	BANK0:FSR

loc_CODE_20:				; CODE XREF: ISR+18j
		bcf	BANK0:STATUS, RP0
		movfw	byte_DATA_21
		movwf	BANK0:STATUS
		swapf	byte_DATA_20, f
		swapf	byte_DATA_20, w
		retfie
; End of function ISR


; =============== S U B	R O U T	I N E =======================================


sub_CODE_26:				; CODE XREF: ISR+13p
		andlw	7
		addwf	BANK0:PCL, f
		retlw	1
; End of function sub_CODE_26

; ---------------------------------------------------------------------------
		retlw	2
; ---------------------------------------------------------------------------
		retlw	4
; ---------------------------------------------------------------------------
		retlw	8
; ---------------------------------------------------------------------------
		retlw	10
; ---------------------------------------------------------------------------
		retlw	20 ; ' '
; ---------------------------------------------------------------------------
		retlw	40 ; '@'
; ---------------------------------------------------------------------------
		retlw	80 ; '€'

; =============== S U B	R O U T	I N E =======================================


sub_CODE_30:				; CODE XREF: sub_CODE_9E+7p

; FUNCTION CHUNK AT 0044 SIZE 0000000A BYTES

		addwf	BANK0:PCL, f
		b	loc_CODE_44
; End of function sub_CODE_30

; ---------------------------------------------------------------------------
		b	loc_CODE_4E
; ---------------------------------------------------------------------------
		b	loc_CODE_59
; ---------------------------------------------------------------------------
		b	loc_CODE_64
; ---------------------------------------------------------------------------
		b	loc_CODE_6F
; ---------------------------------------------------------------------------
		b	loc_CODE_7A
; ---------------------------------------------------------------------------
		b	loc_CODE_85
; ---------------------------------------------------------------------------
		b	loc_CODE_90

; =============== S U B	R O U T	I N E =======================================


sub_CODE_39:				; CODE XREF: sub_CODE_30:loc_CODE_44p
					; CODE:0050p ...
		movfw	byte_DATA_2D
		andlw	7
		addwf	BANK0:PCL, f
		retlw	0
; End of function sub_CODE_39

; ---------------------------------------------------------------------------
		retlw	1
; ---------------------------------------------------------------------------
		retlw	3
; ---------------------------------------------------------------------------
		retlw	7
; ---------------------------------------------------------------------------
		retlw	0F
; ---------------------------------------------------------------------------
		retlw	1F
; ---------------------------------------------------------------------------
		retlw	3F ; '?'
; ---------------------------------------------------------------------------
		retlw	7F ; ''
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_CODE_30

loc_CODE_44:				; CODE XREF: sub_CODE_30+1j
		call	sub_CODE_39
		movwf	byte_DATA_23
		clrf	byte_DATA_24
		clrf	byte_DATA_25
		clrf	byte_DATA_26
		clrf	byte_DATA_27
		clrf	byte_DATA_28
		clrf	byte_DATA_29
		clrf	byte_DATA_2A
		return
; END OF FUNCTION CHUNK	FOR sub_CODE_30
; ---------------------------------------------------------------------------

loc_CODE_4E:				; CODE XREF: CODE:0032j
		movlw	0FF
		movwf	byte_DATA_23
		call	sub_CODE_39
		movwf	byte_DATA_24
		clrf	byte_DATA_25
		clrf	byte_DATA_26
		clrf	byte_DATA_27
		clrf	byte_DATA_28
		clrf	byte_DATA_29
		clrf	byte_DATA_2A
		return
; ---------------------------------------------------------------------------

loc_CODE_59:				; CODE XREF: CODE:0033j
		movlw	0FF
		movwf	byte_DATA_23
		movwf	byte_DATA_24
		call	sub_CODE_39
		movwf	byte_DATA_25
		clrf	byte_DATA_26
		clrf	byte_DATA_27
		clrf	byte_DATA_28
		clrf	byte_DATA_29
		clrf	byte_DATA_2A
		return
; ---------------------------------------------------------------------------

loc_CODE_64:				; CODE XREF: CODE:0034j
		movlw	0FF
		movwf	byte_DATA_23
		movwf	byte_DATA_24
		movwf	byte_DATA_25
		call	sub_CODE_39
		movwf	byte_DATA_26
		clrf	byte_DATA_27
		clrf	byte_DATA_28
		clrf	byte_DATA_29
		clrf	byte_DATA_2A
		return
; ---------------------------------------------------------------------------

loc_CODE_6F:				; CODE XREF: CODE:0035j
		movlw	0FF
		movwf	byte_DATA_23
		movwf	byte_DATA_24
		movwf	byte_DATA_25
		movwf	byte_DATA_26
		call	sub_CODE_39
		movwf	byte_DATA_27
		clrf	byte_DATA_28
		clrf	byte_DATA_29
		clrf	byte_DATA_2A
		return
; ---------------------------------------------------------------------------

loc_CODE_7A:				; CODE XREF: CODE:0036j
		movlw	0FF
		movwf	byte_DATA_23
		movwf	byte_DATA_24
		movwf	byte_DATA_25
		movwf	byte_DATA_26
		movwf	byte_DATA_27
		call	sub_CODE_39
		movwf	byte_DATA_28
		clrf	byte_DATA_29
		clrf	byte_DATA_2A
		return
; ---------------------------------------------------------------------------

loc_CODE_85:				; CODE XREF: CODE:0037j
		movlw	0FF
		movwf	byte_DATA_23
		movwf	byte_DATA_24
		movwf	byte_DATA_25
		movwf	byte_DATA_26
		movwf	byte_DATA_27
		movwf	byte_DATA_28
		call	sub_CODE_39
		movwf	byte_DATA_29
		clrf	byte_DATA_2A
		return
; ---------------------------------------------------------------------------

loc_CODE_90:				; CODE XREF: CODE:0038j
		movlw	0FF
		movwf	byte_DATA_23
		movwf	byte_DATA_24
		movwf	byte_DATA_25
		movwf	byte_DATA_26
		movwf	byte_DATA_27
		movwf	byte_DATA_28
		movwf	byte_DATA_29
		call	sub_CODE_39
		movwf	byte_DATA_2A
		return
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR RESET

loc_CODE_9B:				; CODE XREF: RESET+9Dj	RESET+C1j
		clrwdt
		call	sub_CODE_9E
		b	loc_CODE_9B
; END OF FUNCTION CHUNK	FOR RESET

; =============== S U B	R O U T	I N E =======================================


sub_CODE_9E:				; CODE XREF: RESET+9Cp
		movfw	byte_DATA_2E
		movwf	byte_DATA_2D
		rrf	byte_DATA_2D, w
		movwf	byte_DATA_2C
		rrf	byte_DATA_2C, f
		rrf	byte_DATA_2C, w
		andlw	7
		call	sub_CODE_30
		return
; End of function sub_CODE_9E

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR RESET

loc_CODE_A7:				; CODE XREF: RESET+1j
		clrf	BANK0:PORTA
		clrf	BANK0:PORTB
		clrf	BANK0:PORTC
		bsf	BANK0:STATUS, RP0
; assume bank =	1
		movlw	0D0 ; 'Ð'
		movwf	BANK1:TRISA
		clrf	BANK1:TRISB
		clrf	BANK1:TRISC
		movlw	0B8 ; '¸'
		movwf	BANK1:OPTION
		movlw	7C ; '|'
		movwf	BANK1:PR2
		bsf	BANK1:PIE1, TMR2IE
		bcf	BANK1:STATUS, RP0
; assume bank =	0
		movlw	21 ; '!'
		movwf	BANK0:PORTA
		clrf	BANK0:PORTC
		movlw	0FF
		movwf	BANK0:PORTB
		movlw	byte_DATA_23
		movwf	BANK0:FSR
		movlw	7
		movwf	BANK0:T2CON
		clrf	BANK0:TMR0
		bsf	BANK0:INTCON, PEIE
		bsf	BANK0:INTCON, GIE
		b	loc_CODE_9B
; END OF FUNCTION CHUNK	FOR RESET
; ---------------------------------------------------------------------------
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		res 1
		data  3F31 ; 1

; ===========================================================================

; Segment type:	Internal processor memory & SFR
		; .data	(DATA)
; assume bank =	0
; assume pclath	= 0
BANK0_INDF	equ 0			; DATA XREF: ISR+Fr
BANK0_TMR0	equ 1			; DATA XREF: ISR+Br ISR+Dw ...
BANK0_PCL	equ 2			; DATA XREF: sub_CODE_26+1w
					; sub_CODE_30w	...
BANK0_STATUS	equ 3			; DATA XREF: ISR+1r ISR+2w ...
 C		equ 0
 DC		equ 1
 Z		equ 2
 PD		equ 3
 TO		equ 4
 RP0		equ 5
 RP1		equ 6
 IRP		equ 7

BANK0_FSR	equ 4			; DATA XREF: ISR+12r ISR+15w ...
BANK0_PORTA	equ 5			; DATA XREF: RESET:loc_CODE_A7w
					; RESET+B6w
 RA0		equ 0
 RA1		equ 1
 RA2		equ 2
 RA3		equ 3
 RA4		equ 4
 RA5		equ 5

BANK0_PORTB	equ 6			; DATA XREF: ISR+10w RESET+A8w ...
 RB0		equ 0
 RB1		equ 1
 RB2		equ 2
 RB3		equ 3
 RB4		equ 4
 RB5		equ 5
 RB6		equ 6
 RB7		equ 7

BANK0_PORTC	equ 7			; DATA XREF: ISR:loc_CODE_12w ISR+14w	...
 RC0		equ 0
 RC1		equ 1
 RC2		equ 2
 RC3		equ 3
 RC4		equ 4
 RC5		equ 5
 RC6		equ 6
 RC7		equ 7

BANK0_RESERVED0008 equ 8
BANK0_RESERVED0009 equ 9
BANK0_PCLATH	equ 0A
BANK0_INTCON	equ 0B			; DATA XREF: RESET+BFw	RESET+C0w
 RBIF		equ 0
 INTF		equ 1
 TMR0IF		equ 2
 RBIE		equ 3
 INTE		equ 4
 TMR0IE		equ 5
 PEIE		equ 6
 GIE		equ 7

BANK0_PIR1	equ 0C			; DATA XREF: ISR+4w
 TMR1IF		equ 0
 TMR2IF		equ 1
 CCP1IF		equ 2
 SSPIF		equ 3
 TXIF		equ 4
 RCIF		equ 5
 ADIF		equ 6

BANK0_PIR2	equ 0D
 CCP2IF		equ 0
 BCLIF		equ 3
 EEIF		equ 4
 CMIF		equ 6

BANK0_TMR1L	equ 0E
BANK0_TMR1H	equ 0F
BANK0_T1CON	equ 10
 TMR1ON		equ 0
 TMR1CS		equ 1
 T1SYNC		equ 2
 T1OSCEN	equ 3
 T1CKPS0	equ 4
 T1CKPS1	equ 5

BANK0_TMR2	equ 11
BANK0_T2CON	equ 12			; DATA XREF: RESET+BDw
 T2CKPS0	equ 0
 T2CKPS1	equ 1
 TMR2ON		equ 2
 TOUTPS0	equ 3
 TOUTPS1	equ 4
 TOUTPS2	equ 5
 TOUTPS3	equ 6

BANK0_SSPBUF	equ 13
BANK0_SSPCON	equ 14
 SSPM0		equ 0
 SSPM1		equ 1
 SSPM2		equ 2
 SSPM3		equ 3
 CKP		equ 4
 SSPEN		equ 5
 SSPOV		equ 6
 WCOL		equ 7

BANK0_CCPR1L	equ 15
BANK0_CCPR1H	equ 16
BANK0_CCP1CON	equ 17
 CCP1M0		equ 0
 CCP1M1		equ 1
 CCP1M2		equ 2
 CCP1M3		equ 3
 CCP1Y		equ 4
 CCP1X		equ 5

BANK0_RCSTA	equ 18
 RX9D		equ 0
 OERR		equ 1
 FERR		equ 2
 ADDEN		equ 3
 CREN		equ 4
 SREN		equ 5
 RX9		equ 6
 SPEN		equ 7

BANK0_TXREG	equ 19
BANK0_RCREG	equ 1A
BANK0_CCPR2L	equ 1B
BANK0_CCPR2H	equ 1C
BANK0_CCP2CON	equ 1D
 CCP2M0		equ 0
 CCP2M1		equ 1
 CCP2M2		equ 2
 CCP2M3		equ 3
 CCP2Y		equ 4
 CCP2X		equ 5

BANK0_ADRESH	equ 1E
BANK0_ADCON0	equ 1F
 ADON		equ 0
 GO_DONE	equ 2
 CHS0		equ 3
 CHS1		equ 4
 CHS2		equ 5
 ADCS0		equ 6
 ADCS1		equ 7

byte_DATA_20	equ 20			; DATA XREF: ISRw ISR+1Fw ...
byte_DATA_21	equ 21			; DATA XREF: ISR+3w ISR+1Dr

byte_DATA_23	equ 23			; DATA XREF: ISR+1Ao sub_CODE_30+15w ...
byte_DATA_24	equ 24			; DATA XREF: sub_CODE_30+16w
					; CODE:0051w ...
byte_DATA_25	equ 25			; DATA XREF: sub_CODE_30+17w
					; CODE:0052w ...
byte_DATA_26	equ 26			; DATA XREF: sub_CODE_30+18w
					; CODE:0053w ...
byte_DATA_27	equ 27			; DATA XREF: sub_CODE_30+19w
					; CODE:0054w ...
byte_DATA_28	equ 28			; DATA XREF: sub_CODE_30+1Aw
					; CODE:0055w ...
byte_DATA_29	equ 29			; DATA XREF: sub_CODE_30+1Bw
					; CODE:0056w ...
byte_DATA_2A	equ 2A			; DATA XREF: sub_CODE_30+1Cw
					; CODE:0057w ...
byte_DATA_2B	equ 2B			; DATA XREF: ISR+5w ISR+7r ...
byte_DATA_2C	equ 2C			; DATA XREF: sub_CODE_9E+3w
					; sub_CODE_9E+4w ...
byte_DATA_2D	equ 2D			; DATA XREF: sub_CODE_39r
					; sub_CODE_9E+1w ...
byte_DATA_2E	equ 2E			; DATA XREF: ISR+Cw sub_CODE_9Er

BANK1_INDF	equ 80
BANK1_OPTION	equ 81			; DATA XREF: RESET+B0w
 PS0		equ 0
 PS1		equ 1
 PS2		equ 2
 PSA		equ 3
 T0SE		equ 4
 T0CS		equ 5
 INTEDG		equ 6
 RBPU		equ 7

BANK1_PCL	equ 82
BANK1_STATUS	equ 83			; DATA XREF: RESET+B4w
 C		equ 0
 DC		equ 1
 Z		equ 2
 PD		equ 3
 TO		equ 4
 RP0		equ 5
 RP1		equ 6
 IRP		equ 7

BANK1_FSR	equ 84
BANK1_TRISA	equ 85			; DATA XREF: RESET+ACw
 TRISA0		equ 0
 TRISA1		equ 1
 TRISA2		equ 2
 TRISA3		equ 3
 TRISA4		equ 4
 TRISA5		equ 5

BANK1_TRISB	equ 86			; DATA XREF: RESET+ADw
 TRISB0		equ 0
 TRISB1		equ 1
 TRISB2		equ 2
 TRISB3		equ 3
 TRISB4		equ 4
 TRISB5		equ 5
 TRISB6		equ 6
 TRISB7		equ 7

BANK1_TRISC	equ 87			; DATA XREF: RESET+AEw
 TRISC0		equ 0
 TRISC1		equ 1
 TRISC2		equ 2
 TRISC3		equ 3
 TRISC4		equ 4
 TRISC5		equ 5
 TRISC6		equ 6
 TRISC7		equ 7

BANK1_RESERVED0088 equ 88
BANK1_RESERVED0089 equ 89
BANK1_PCLATH	equ 8A
BANK1_INTCON	equ 8B
 RBIF		equ 0
 INTF		equ 1
 TMR0IF		equ 2
 RBIE		equ 3
 INTE		equ 4
 TMR0IE		equ 5
 PEIE		equ 6
 GIE		equ 7

BANK1_PIE1	equ 8C			; DATA XREF: RESET+B3w
 TMR1IE		equ 0
 TMR2IE		equ 1
 CCP1IE		equ 2
 SSPIE		equ 3
 TXIE		equ 4
 RCIE		equ 5
 ADIE		equ 6

BANK1_PIE2	equ 8D
 CCP2IE		equ 0
 BCLIE		equ 3
 EEIE		equ 4
 CMIE		equ 6

BANK1_PCON	equ 8E
 BOR		equ 0
 POR		equ 1

BANK1_RESERVED008F equ 8F
BANK1_RESERVED0090 equ 90
BANK1_SSPCON2	equ 91
 SEN		equ 0
 RSEN		equ 1
 PEN		equ 2
 RCEN		equ 3
 ACKEN		equ 4
 ACKDT		equ 5
 ACKSTAT	equ 6
 GCEN		equ 7

BANK1_PR2	equ 92			; DATA XREF: RESET+B2w
BANK1_SSPADD	equ 93
BANK1_SSPSTAT	equ 94
 BF		equ 0
 UA		equ 1
 R_W		equ 2
 S		equ 3
 P		equ 4
 D_A		equ 5
 CKE		equ 6
 SMP		equ 7

BANK1_RESERVED0095 equ 95
BANK1_RESERVED0096 equ 96
BANK1_RESERVED0097 equ 97
BANK1_TXSTA	equ 98
 TX9D		equ 0
 TRMT		equ 1
 BRGH		equ 2
 SYNC		equ 4
 TXEN		equ 5
 TX9		equ 6
 CSRC		equ 7

BANK1_SPBRG	equ 99
BANK1_RESERVED009A equ 9A
BANK1_RESERVED009B equ 9B
BANK1_CMCON	equ 9C
 CM0		equ 0
 CM1		equ 1
 CM2		equ 2
 CIS		equ 3
 C1INV		equ 4
 C2INV		equ 5
 C1OUT		equ 6
 C2OUT		equ 7

BANK1_CVRCON	equ 9D
 CVR0		equ 0
 CVR1		equ 1
 CVR2		equ 2
 CVR3		equ 3
 CVRR		equ 5
 CVROE		equ 6
 CVREN		equ 7

BANK1_ADRESL	equ 9E
BANK1_ADCON1	equ 9F
 PCFG0		equ 0
 PCFG1		equ 1
 PCFG2		equ 2
 PCFG3		equ 3
 ADCS2		equ 6
 ADFM		equ 7


BANK2_INDF	equ 100
BANK2_TMR0	equ 101
BANK2_PCL	equ 102
BANK2_STATUS	equ 103
 C		equ 0
 DC		equ 1
 Z		equ 2
 PD		equ 3
 TO		equ 4
 RP0		equ 5
 RP1		equ 6
 IRP		equ 7

BANK2_FSR	equ 104
BANK2_RESERVED0105 equ 105
BANK2_PORTB	equ 106
 RB0		equ 0
 RB1		equ 1
 RB2		equ 2
 RB3		equ 3
 RB4		equ 4
 RB5		equ 5
 RB6		equ 6
 RB7		equ 7

BANK2_RESERVED0107 equ 107
BANK2_RESERVED0108 equ 108
BANK2_RESERVED0109 equ 109
BANK2_PCLATH	equ 10A
BANK2_INTCON	equ 10B
 RBIF		equ 0
 INTF		equ 1
 TMR0IF		equ 2
 RBIE		equ 3
 INTE		equ 4
 TMR0IE		equ 5
 PEIE		equ 6
 GIE		equ 7

BANK2_EEDATA	equ 10C
BANK2_EEADR	equ 10D
BANK2_EEDATH	equ 10E
BANK2_EEADRH	equ 10F

BANK3_INDF	equ 180
BANK3_OPTION	equ 181
 PS0		equ 0
 PS1		equ 1
 PS2		equ 2
 PSA		equ 3
 T0SE		equ 4
 T0CS		equ 5
 INTEDG		equ 6
 RBPU		equ 7

BANK3_PCL	equ 182
BANK3_STATUS	equ 183
 C		equ 0
 DC		equ 1
 Z		equ 2
 PD		equ 3
 TO		equ 4
 RP0		equ 5
 RP1		equ 6
 IRP		equ 7

BANK3_FSR	equ 184
BANK3_RESERVED0185 equ 185
BANK3_TRISB	equ 186
 TRISB0		equ 0
 TRISB1		equ 1
 TRISB2		equ 2
 TRISB3		equ 3
 TRISB4		equ 4
 TRISB5		equ 5
 TRISB6		equ 6
 TRISB7		equ 7

BANK3_RESERVED0187 equ 187
BANK3_RESERVED0188 equ 188
BANK3_RESERVED0189 equ 189
BANK3_PCLATH	equ 18A
BANK3_INTCON	equ 18B
 RBIF		equ 0
 INTF		equ 1
 TMR0IF		equ 2
 RBIE		equ 3
 INTE		equ 4
 TMR0IE		equ 5
 PEIE		equ 6
 GIE		equ 7

BANK3_EECON1	equ 18C
 RD		equ 0
 WR		equ 1
 WREN		equ 2
 WRERR		equ 3
 EEPGD		equ 7

BANK3_EECON2	equ 18D
BANK3_RESERVED018E equ 18E
BANK3_RESERVED018F equ 18F


		end ;
