first support for "goto_w" Java bytecode instruction

This commit is contained in:
Volker Berlin 2019-03-20 19:11:38 +01:00
parent 1b6fd3c7a5
commit 0b3c1987f5
3 changed files with 497 additions and 161 deletions

View File

@ -270,35 +270,52 @@ class BranchManger {
parent.add( new BranchNode( startPos, startPos, WasmBlockOperator.BR_IF, null, 0 ) ); parent.add( new BranchNode( startPos, startPos, WasmBlockOperator.BR_IF, null, 0 ) );
return; return;
} }
int gotoPos = endPos - 3; // 3 - byte size of goto instruction
BranchNode branch = null; BranchNode branch = null;
for( ; i < parsedOperations.size(); i++ ) { for( ; i < parsedOperations.size(); i++ ) {
ParsedBlock parsedBlock = parsedOperations.get( i ); ParsedBlock parsedBlock = parsedOperations.get( i );
if( parsedBlock.startPosition == gotoPos && parsedBlock.op == JavaBlockOperator.GOTO && parsedBlock.startPosition < parsedBlock.endPosition) { if( parsedBlock.nextPosition == endPos && parsedBlock.op == JavaBlockOperator.GOTO && parsedBlock.startPosition < parsedBlock.endPosition ) {
parsedOperations.remove( i ); parsedOperations.remove( i );
branch = new BranchNode( startPos, startBlock.endPosition, WasmBlockOperator.IF, null ); int elsePos = startBlock.endPosition;
// end position can not be outside of the parent
endPos = Math.min( parsedBlock.endPosition, parent.endPos );
// special case if there is only one goto in the IF block. Occur with goto_w
if( parsedBlock.startPosition == startPos ) {
int nextPos = Math.min( parsedBlock.endPosition, parent.endPos );
for( int j = i; j < parsedOperations.size(); j++ ) {
ParsedBlock parsedBlock2 = parsedOperations.get( j );
if( parsedBlock2.nextPosition == nextPos && parsedBlock2.op == JavaBlockOperator.GOTO && parsedBlock2.startPosition < parsedBlock2.endPosition ) {
parsedOperations.remove( j );
elsePos = nextPos;
endPos = parsedBlock2.endPosition;
startBlock.negateCompare();
i = j;
}
}
}
branch = new BranchNode( startPos, elsePos, WasmBlockOperator.IF, null );
parent.add( branch ); parent.add( branch );
if( i > 0 ) { if( i > 0 ) {
calculate( branch, parsedOperations.subList( 0, i ) ); calculate( branch, parsedOperations.subList( 0, i ) );
i = 0;
} }
AnyType blockType = calculateBlockType( startPos, branch.endPos ); AnyType blockType = calculateBlockType( startPos, branch.endPos );
branch.data = blockType; branch.data = blockType;
// end position can not be outside of the parent
endPos = Math.min( parsedBlock.endPosition, parent.endPos );
// if with block type signature must have an else block // if with block type signature must have an else block
int breakDeep = blockType == ValueType.empty ? calculateBreakDeep( parent, endPos ) : -1; int breakDeep = blockType == ValueType.empty ? calculateBreakDeep( parent, endPos ) : -1;
if( breakDeep >= 0 ) { if( breakDeep >= 0 ) {
branch.endOp = WasmBlockOperator.END; branch.endOp = WasmBlockOperator.END;
branch.add( new BranchNode( startBlock.endPosition, endPos, WasmBlockOperator.BR, null, breakDeep + 1 ) ); branch.add( new BranchNode( elsePos, endPos, WasmBlockOperator.BR, null, breakDeep + 1 ) );
endPos = branch.endPos; endPos = branch.endPos;
} else { } else {
branch = new BranchNode( startBlock.endPosition, endPos, WasmBlockOperator.ELSE, WasmBlockOperator.END ); branch = new BranchNode( elsePos, endPos, WasmBlockOperator.ELSE, WasmBlockOperator.END );
parent.add( branch ); parent.add( branch );
} }
break; break;
} }
if( parsedBlock.startPosition > gotoPos ) { if( parsedBlock.nextPosition > endPos ) {
break; break;
} }
} }

View File

@ -631,7 +631,11 @@ class JavaMethodWasmCodeBuilder extends WasmCodeBuilder {
case 199: // ifnonnull case 199: // ifnonnull
opIfCompareCondition( NumericOperator.ifnonnull, byteCode, codePos ); opIfCompareCondition( NumericOperator.ifnonnull, byteCode, codePos );
break; break;
//TODO case 200: // goto_w case 200: // goto_w
offset = byteCode.readInt();
branchManager.addGotoOperator( codePos, offset, byteCode.getCodePosition(), byteCode.getLineNumber() );
addNopInstruction( codePos ); // marker of the line number for the branch manager
break;
//TODO case 201: // jsr_w //TODO case 201: // jsr_w
default: default:
throw new WasmException( "Unimplemented Java byte code operation: " + op, byteCode.getLineNumber() ); throw new WasmException( "Unimplemented Java byte code operation: " + op, byteCode.getLineNumber() );

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2018 Volker Berlin (i-net software) * Copyright 2019 Volker Berlin (i-net software)
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -52,6 +52,15 @@ public class Wide extends AbstractBaseTest {
*/ */
@Export @Export
static int abc() { static int abc() {
int i = 42;
if( 42 == i ) {
// TODO
// for( int j = 0; j < 10; j++ ) {
// i++;
// }
i++;
} else {
int j = 0;
long a0 = 0; long a0 = 0;
long a1 = 1; long a1 = 1;
long a2 = 2; long a2 = 2;
@ -205,7 +214,313 @@ public class Wide extends AbstractBaseTest {
double c48 = 48; double c48 = 48;
double c49 = 49; double c49 = 49;
return 255; // a large block with more as 32 Kbyte of instructions that a goto_w instuction is needed
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000; c49 += 1000;
}
return i;
} }
} }
} }