Strange GIS behavior

From: Bíba Jiêí (bibaj@mobot.felk.cvut.cz)
Date: Wed 27 Mar 2002 - 11:39:44 GMT


        Hello all ye interested in RoboCup-Rescue!

        As a first issue I would like to appologize to all of you, that I
send an mass mail. But I do it because I did not found the author of
GIS or he did not reply. I send it to all of you with a hope to get at
least one answer... I also appologize to japanish speaking people
to write english to their mail list.

I joined RoboCup-Rescue about a month ago. I have a kernel 0.34
and also agents NITRescue-R from Nobuhiro Ito (I'm sorry if
incorrect spelling) As I was looking for a bug in civilian agent I have
found some oddness in GIS performance.
The point is in IDs of objects. As I have found, objects described in
files BUILDING.BIN, ROAD.BIN and NODE.BIN, has unique IDs
only inside of these files, but not globaly. As GIS build the world,
that IDs are to be renumbered, as it is really done. BUT: The
question is how! I attach all necessery files. I added to main.cxx of
GIS some debugging lines. It is clear, that when objects are
created and loaded from files, IDs according to those in files are
set. But because of they are not globally unigue, are to be reset to
other IDs, unique in all the system. What is strange is a way how
unique IDs are set. There is a place in a source code, where
objects are created and IDs are set according to "file" IDs. After
that there is NOWHERE called (directly as I saw it) function
setId()... but if you let Id() return all IDs, are on one hand set
according to file IDs, but on other hand after about 50 lines are set
on other values, than before.
In these 50 lines there is nowhere called setId(). Where that IDs
come from? I attached files main.cxx; in changes_main.txt are
described added or uncommented lines and in node_init.txt is a
report of IDs after objects creation and in node.txt are reported IDs
before the end of main.cxx. You can see, that object IDs in both
files are diffrent in stead of the same X any Y coordinates.
I am very interested in a way, how are these new IDs set. It behave
like a black box: in one time they are some and later they are
other... I do not understand it.

Next issue is, that I treat it as a problem, that IDs in files are not
unique globally for all the map. This is necessery to solve later and
I think, that it is a wrong way. I think, that a systematic approach
is to set IDs unique already during map creation. I think, that such
a solution would save a lot of consequenting problems.
I would like to know what you mean about it! Please.
I think that it woildn't be necessery to rewrite the map creator...
(even though it would be the best way) It would suffice to write a
program, that opens all of these three files and renumber IDs such
a way to be globally unigue. I could make it, but I treat it as a
feckless effort from myself, when the author of GIS, who knows
perfctly his program, can do it simply and faster.

Thank you for patience, given time and replies.

Yours Sincerely

Jiri Biba


I needed to add some debugging code to your original source file main.cxx.
Changes are reported here:

#############################################################################
#############################################################################
#############################################################################

There lines were uncommented in your original source code:
**********************************************************

actual placement: lines 419, 420
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

          if ( strcmp( name1, "AllListOutput") == 0 )
              AllListOutput = atoi(name2);

actual placement: lines 1107 - 1144
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

// make AllGISDataList
    if( AllListOutput != 0 ){
        if( (fpTxt = fopen( "road.txt", "w+"FOPEN_MODE_TEXT )) != NULL ){
            for ( loop1=0; loop1<nCntRoad; loop1++ ){
                sprintf(buffer, "%ld : %ld->%ld\n", pRoad[loop1].id() ,
                    pRoad[loop1].head()->id(), pRoad[loop1].tail()->id() );
                result = fwrite( buffer, sizeof( char ), strlen( buffer ), fpTxt );
            }
            fclose(fpTxt);
        }

        if( (fpTxt = fopen( "node.txt", "w+"FOPEN_MODE_TEXT )) != NULL ){
            for ( loop1=0; loop1<nCntNode; loop1++ ){
                sprintf(buffer, "%ld : (%ld, %ld)\n", pNode[loop1].id() ,
                    pNode[loop1].x() ,pNode[loop1].y() );
                result = fwrite( buffer, sizeof( char ), strlen( buffer ), fpTxt );
            }
            fclose(fpTxt);
        }

        if( (fpTxt = fopen( "building.txt", "w+"FOPEN_MODE_TEXT )) != NULL ){
            for ( loop1=0; loop1<nCntBuilding; loop1++ ){
                sprintf(buffer, "%ld : (%ld, %ld)\n", pBuilding[loop1].id() ,
                    pBuilding[loop1].x(), pBuilding[loop1].y() );
                result = fwrite( buffer, sizeof( char ), strlen( buffer ), fpTxt );
            }
            fclose(fpTxt);
        }

        if( (fpTxt = fopen( "refuge.txt", "w+"FOPEN_MODE_TEXT )) != NULL ){
            for ( loop1=0; loop1<nCntRefuge; loop1++ ){
                sprintf(buffer, "%ld : (%ld, %ld)\n", pRefuge[loop1].id() ,
                    pRefuge[loop1].x(), pRefuge[loop1].y() );
                result = fwrite( buffer, sizeof( char ), strlen( buffer ), fpTxt );
            }
            fclose(fpTxt);
        }
    
    }

#############################################################################
#############################################################################
#############################################################################
    

These lines were added to your original source code:
****************************************************

actual placement: line 704
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        printf("Setting road ID = %ld\n", tmp);
        
actual placement: lines 782, 787, 792
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

        printf("Setting node ID = %ld ",tmp);
        printf("| X = %ld ",tmp);
        printf("| Y = %ld\n",tmp);

actual placement: lines 1008, 1013, 1018
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

        printf("Setting all_buildings ID = %ld |",tmp);
        printf(" X = %ld |",tmp);
        printf(" Y = %ld | ",tmp);


#include "common.hxx"
#include "basic.hxx"
#include "Config.hxx"
#include "Address.hxx"
#include "Input.hxx"
#include "Output.hxx"
#include "LongUDPSocket.hxx"
#include "ObjectPool.hxx"
#include "objects.hxx"
using namespace Rescue;

// by koto
int fread2(S32* buffer, int size, int count, FILE* fp) {
    ASSERT(size == sizeof(S32) && count == 1);
    
    Byte b1;
    if(fread(&b1, sizeof(Byte), 1, fp) != 1)
        return 0;
    Byte b2;
    if(fread(&b2, sizeof(Byte), 1, fp) != 1)
        return 0;
    Byte b3;
    if(fread(&b3, sizeof(Byte), 1, fp) != 1)
        return 0;
    Byte b4;
    if(fread(&b4, sizeof(Byte), 1, fp) != 1)
        return 0;
    
    *buffer = (S32)b1 | ((S32)b2 << 8) | ((S32)b3 << 16) | ((S32)b4 << 24);
    return 1;
}
//

// created by M.H
// modified by M.H 2000.8.24
int DetPositions( std::vector<S32> * pEntities, S32 nRecCount, S32 nAllRecCount) {
    S32 loop2, nCntRec, tmp;
    bool bFlag;

    srand( (unsigned)time( NULL ) );
    pEntities->clear();

    nCntRec = 0;
    while(nCntRec<nRecCount){
        tmp = (S32)rand() % nAllRecCount;
        bFlag = false;
        for (loop2=0; loop2<nCntRec; loop2++){
            if (tmp == (*pEntities)[loop2])
                bFlag = true;
        }
        if (bFlag != true){
            pEntities->push_back(tmp);
            nCntRec++;
        }
    }

    return 1;
}

// created by M.H 2001/04/14
void ChangeDelimiter( char *pBuf, char delimiter) {
    while(*pBuf != '\0') {
        if(*pBuf == delimiter) *pBuf = ' ';
        pBuf++;
    }
    return;
}
//

int main2(int argc, char** argv);
void makeWorld(ObjectPool& pool, int number);

int main(int argc, char** argv)
{
    try {
        return main2(argc, argv);
    } catch(std::exception& e) {
        fprintf(stderr, "%s\n", (const char*)e.what());
    } catch(...) {
        fprintf(stderr, "error...\n");
    }
    return 1;
}

int main2(int argc, char** argv)
{
    const char* host = "localhost";
    Config config;
    int number = 50;

    // °ú¿ô²òÀÏ
    int i;
    for(i=1; i<argc; i++) {
        if(argv[i][0] == '-') {
            if(strcmp(argv[i], "-file") == 0) {
                if(++i < argc) {
                    config.readConfigFile(argv[i]);
                } else {
                    fprintf(stderr, "error: '-file'\n");
                }
            } else if(strcmp(argv[i], "-n") == 0) {
                if(++i < argc) {
                    number = atoi(argv[i]);
                } else {
                    fprintf(stderr, "error: '-file'\n");
                }
            } else {
                if(++i < argc) {
                    if(!config.setValue(argv[i-1]+1, argv[i]))
                        fprintf(stderr, "error: '%s'\n", argv[i]);
                } else {
                    fprintf(stderr, "error: '%s'\n", argv[i-1]);
                }
            }
        } else {
            fprintf(stderr, "error: '%s'\n", argv[i]);
        }
    }

    // ¥½¥±¥Ã¥ÈºîÀ®
    Address address = Address(INADDR_ANY, config.gis_port(), true);
    LongUDPSocket socket(address, config.textlogname_gis());
    Input input;
    Output output;
    output.setWait(config.send_udp_wait());
    Address to(host, config.port()); //¢«Á÷¿®Àè

    printf("start\n");

    // ¥á¥Ã¥»¡¼¥¸½èÍý¥ë¡¼¥×
    S32 time = 0;
    ObjectPool pool;
    makeWorld(pool, number);
    for(;;) {
        try {
            socket.receive(input); // TODO: ¥¨¥é¡¼¤òÎã³°¤ÇÊÖ¤¹ //¢«¥Ç¡¼¥¿¤ò¼õ¿®¤·¡¢input ¤ØÃߤ¨¤ë¡£
            for(;;) {
                Header header = input.get(); //¢«input ¤«¤é(4¥Ð¥¤¥È¤Î)¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤·¡¢header ¤ØÂåÆþ¤¹¤ë
                if(header == HEADER_NULL)
                    break;

                S32 size = input.get();
                Input::Cursor start = input.cursor(); //¢«¸½ºßÆɤ߽Ф·¤Æ¤¤¤ë°ÌÃÖ¤òµ­²±¤¹¤ë

                switch(header) {
                default:
                    printf("Unknown header. %lx\n", (long)header);
                    break;
                case KG_CONNECT:
                    printf("KG_CONNECT\n");
                    to = socket.addressRecievedFrom();
                    output.clear();
                    output.put(GK_CONNECT_OK);
                    output.put(~(S32)0);
                    pool.output(output, 0);
                    output.put(HEADER_NULL);
                    socket.send(output, to);
                    break;
                case KG_ACKNOWLEDGE:
                    printf("KG_ACKNOWLEDGE\n");
                    break;
                case KG_UPDATE:
                    printf("KG_UPDATE\n");
                    time = input.get();
                    pool.restructure(time, input);
                    break;
                }

                input.setCursor(start);
                input.skip(size); //¢«size ¥Ð¥¤¥È¥¹¥­¥Ã¥×¤¹¤ë
            }
        } catch(std::exception& e) {
            fprintf(stderr, "%s\n", (const char*)e.what());
        } catch(...) {
            fprintf(stderr, "error...\n");
        }
    }
    
    return 0;
}

// GIS by M.Hatayama
// modified by M.H 2000.8.24
// modified by M.H 2001.4.14
void makeWorld(ObjectPool& pool, int number)
{
    FILE * fpTxt;
    FILE * fpRoad;
    FILE * fpNode;
    FILE * fpBuilding;
    int result;
    S32 nCntRec, nCntRec2;
    S32 tmp, loop1, loop2, tmp_byte;
    S32 cntBA, cntBP, cntBF, cntBR, cntB;
    S32 nCntRoad, nCntNode, nCntAllBuilding, nCntBuilding;
    S32 nCntAmbulanceCenter, nCntPoliceOffice, nCntFireStation, nCntRefuge;
    S32 nCntCivilian, nAmbulanceTeam, nCntFireBrigade, nCntPoliceForce;
    S32 nCntCivilianN, nAmbulanceTeamN, nCntFireBrigadeN, nCntPoliceForceN;
    S32 nCntCivilianB, nAmbulanceTeamB, nCntFireBrigadeB, nCntPoliceForceB;
    S32 nCntCivilianR, nAmbulanceTeamR, nCntFireBrigadeR, nCntPoliceForceR;
    S32 nCntFirePoint;

    World * pWorld;
    Road * pRoad;
    Node * pNode;
    Building * pAllBuilding;
    Building * pBuilding;
    Building * pAmbulanceCenter;
    Building * pPoliceOffice;
    Building * pFireStation;
    Building * pRefuge;

    Bytes bytes;

    int n;
    int data[9];
    const int size = 1024;
    char buffer[size];
    
    bool bIniFileF;
    int AllListOutput;
    
    S32 CivilianRatio = 20;
    S32 start, end;
    std::vector<S32> attTmp;
    std::vector<S32> FirePointIDs;
    std::vector<S32> FirePointIDs2;
    std::vector<S32> MotionlessObj[4];
    std::vector<S32> MotionlessObj2[4];
    std::vector<S32> MoveObjN[4];
    std::vector<S32> MoveObjB[4];
    std::vector<S32> MoveObjRs[4];
    std::vector<S32> MoveObjRe[4];
    std::vector<S32> MoveObjRl[4];
    std::vector<S32> MoveObjR[4];
    std::vector<S32> MoveObjN2[4];
    std::vector<S32> MoveObjB2[4];
    std::vector<S32> MoveObjR2[4];

    //init Cnt
    nCntAmbulanceCenter = nCntPoliceOffice = nCntFireStation = nCntRefuge = 0;
    nCntCivilian = nAmbulanceTeam = nCntFireBrigade = nCntPoliceForce = 0;
    nCntFirePoint = 0;

    //world data
    pWorld = new World;
    pool.testAdd( pWorld );

    //load road data
    if( (fpRoad = fopen("road.bin", "r"FOPEN_MODE_BINARY) ) == NULL){
        printf("cannot find file --- road.bin\n");
        return;
    }
    result = fseek( fpRoad, 0L, SEEK_SET);
    result = fseek( fpRoad, sizeof( S32 )*3, SEEK_CUR);
    result = fread2( &nCntRoad, sizeof( S32 ), 1, fpRoad );

    //load noad data
    if( (fpNode = fopen("node.bin", "r"FOPEN_MODE_BINARY) ) == NULL){
        printf("cannot find file --- node.bin\n");
        fclose(fpRoad);
        return;
    }
    result = fseek( fpNode, 0L, SEEK_SET);
    result = fseek( fpNode, sizeof( S32 )*3, SEEK_CUR);
    result = fread2( &nCntNode, sizeof( S32 ), 1, fpNode );

    //load building data
    if( (fpBuilding = fopen("building.bin", "r"FOPEN_MODE_BINARY) ) == NULL){
        printf("cannot find file --- road.bin\n");
        fclose(fpRoad);
        fclose(fpNode);
        return;
    }
    result = fseek( fpBuilding, 0L, SEEK_SET);
    result = fseek( fpBuilding, sizeof( S32 )*3, SEEK_CUR);
    result = fread2( &nCntAllBuilding, sizeof( S32 ), 1, fpBuilding );

    //load initial data
    char name1[size];
    char name2[size];

    if( (fpTxt = fopen("gisini.txt", "r"FOPEN_MODE_TEXT) ) == NULL){
        bIniFileF = false;
        AllListOutput = 0;

        nCntAmbulanceCenter = nCntPoliceOffice = nCntFireStation = 1;
        nCntRefuge = 4;
        nCntFirePoint = 5;

        DetPositions(&attTmp, nCntAmbulanceCenter+nCntPoliceOffice+nCntFireStation+nCntRefuge, nCntAllBuilding);

        start = 0;
        end = nCntAmbulanceCenter;
        for (loop2=start; loop2<end; loop2++)
            MotionlessObj2[0].push_back(attTmp[loop2]);

        start = end;
        end = start + nCntFireStation;
        for (loop2=start; loop2<end; loop2++)
            MotionlessObj2[1].push_back(attTmp[loop2]);

        start = end;
        end = start + nCntPoliceOffice;
        for (loop2=start; loop2<end; loop2++)
            MotionlessObj2[2].push_back(attTmp[loop2]);

        start = end;
        end = start + nCntRefuge;
        for (loop2=start; loop2<end; loop2++)
            MotionlessObj2[3].push_back(attTmp[loop2]);

        DetPositions(&FirePointIDs2, nCntFirePoint, nCntAllBuilding);

        nCntBuilding = nCntAllBuilding - nCntRefuge - nCntAmbulanceCenter - nCntPoliceOffice - nCntFireStation;

        if ( nCntBuilding / CivilianRatio == 0 ){
            nCntCivilian = nCntCivilianB = 1;
            nCntCivilianR = 0;
            nCntCivilianN = 0;
        }
        else {
            nCntCivilian = 2* ( nCntBuilding / CivilianRatio );
            nCntCivilianB = nCntCivilian * 19 / 20;
            nCntCivilianR = ( nCntCivilian - nCntCivilianB ) / 2;
            nCntCivilianN = nCntCivilian - nCntCivilianB - nCntCivilianR;
        }
        DetPositions(&MoveObjN2[0], nCntCivilianN, nCntNode);
        DetPositions(&MoveObjB2[0], nCntCivilianB, nCntBuilding);
        DetPositions(&MoveObjR2[0], nCntCivilianR, nCntRoad);
    
        if ( nCntNode/50 == 0 ){
            nAmbulanceTeamB = 0;
            nAmbulanceTeamR = 0;
            nAmbulanceTeamN = 1;
        }
        else if ( nCntNode / 50 > 5 ){
            nAmbulanceTeamB = 0;
            nAmbulanceTeamR = 0;
            nAmbulanceTeamN = 5;
        }
        else{
            nAmbulanceTeamB = 0;
            nAmbulanceTeamR = 0;
            nAmbulanceTeamN = nCntNode / 50;
        }

        DetPositions(&MoveObjN2[1], nAmbulanceTeamN, nCntNode);
        DetPositions(&MoveObjB2[1], nAmbulanceTeamB, nCntBuilding);
        DetPositions(&MoveObjR2[1], nAmbulanceTeamR, nCntRoad);

        if ( nCntNode / 50 == 0 ){
            nCntFireBrigadeN = 1;
            nCntFireBrigadeB = 0;
            nCntFireBrigadeR = 0;
        }
        else if ( nCntNode / 50 > 10 ){
            nCntFireBrigadeN = 10;
            nCntFireBrigadeB = 0;
            nCntFireBrigadeR = 0;
        }
        else{
            nCntFireBrigadeN = nCntNode / 50;
            nCntFireBrigadeB = 0;
            nCntFireBrigadeR = 0;
        }

        DetPositions(&MoveObjN2[2], nCntFireBrigadeN, nCntNode);
        DetPositions(&MoveObjB2[2], nCntFireBrigadeB, nCntBuilding);
        DetPositions(&MoveObjR2[2], nCntFireBrigadeR, nCntRoad);

        if ( nCntNode / 50 == 0 ){
            nCntPoliceForceN = 0;
            nCntPoliceForceB = 0;
            nCntPoliceForceR = 1;
        }
        else if ( nCntNode / 50 > 10 ){
            nCntPoliceForceN = 0;
            nCntPoliceForceB = 0;
            nCntPoliceForceR = 10;
        }
        else{
            nCntPoliceForceN = 0;
            nCntPoliceForceB = 0;
            nCntPoliceForceR = nCntNode / 50;
        }

        DetPositions(&MoveObjN2[3], nCntPoliceForceN, nCntNode);
        DetPositions(&MoveObjB2[3], nCntPoliceForceB, nCntBuilding);
        DetPositions(&MoveObjR2[3], nCntPoliceForceR, nCntRoad);

        nCntCivilian = nCntCivilianN + nCntCivilianB + nCntCivilianR;
        nAmbulanceTeam = nAmbulanceTeamN + nAmbulanceTeamB + nAmbulanceTeamR;
        nCntFireBrigade = nCntFireBrigadeN + nCntFireBrigadeB + nCntFireBrigadeR;
        nCntPoliceForce = nCntPoliceForceN + nCntPoliceForceB + nCntPoliceForceR;
    }
    else {
        bIniFileF = true;

        nCntCivilianN = nAmbulanceTeamN = nCntFireBrigadeN = nCntPoliceForceN = 0;
        nCntCivilianB = nAmbulanceTeamB = nCntFireBrigadeB = nCntPoliceForceB = 0;
        nCntCivilianR = nAmbulanceTeamR = nCntFireBrigadeR = nCntPoliceForceR = 0;

        while(fgets(buffer, size, fpTxt) != NULL) {
            if (buffer[0] == '#' || buffer[0] == '\n') continue;

            char *p = buffer;
            while(*p != '\0') {
                if(*p == ':') *p = ' ';
                if(*p == '=') *p = ' ';
                p++;
            }
            n = sscanf(buffer, "%s %s", name1, name2);
            if(n == 2) {

//#############################################################

              if ( strcmp( name1, "AllListOutput") == 0 )
                  AllListOutput = atoi(name2);

//#############################################################

                if ( strcmp( name1, "AmbulanceCenterNum") == 0 )
                    nCntAmbulanceCenter = atol(name2);

                for (loop1=0; loop1<nCntAmbulanceCenter; loop1++ ){
                    sprintf( buffer, "AmbulanceCenter%ld", loop1 );
                    if ( strcmp( name1, buffer) == 0 ){
                        ChangeDelimiter(name2, ',');
                        n = sscanf(name2, "%ld %ld %ld %ld %ld",
                                        &data[0], &data[1], &data[2], &data[3], &data[4]);
                        MotionlessObj[0].push_back(data[2]);
                    }
                }

                if ( strcmp( name1, "FireStationNum") == 0 )
                    nCntFireStation = atol(name2);

                for (loop1=0; loop1<nCntFireStation; loop1++ ){
                    sprintf( buffer, "FireStation%ld", loop1 );
                    if ( strcmp( name1, buffer) == 0 ){
                        ChangeDelimiter(name2, ',');
                        n = sscanf(name2, "%ld %ld %ld %ld %ld",
                                        &data[0], &data[1], &data[2], &data[3], &data[4]);
                        MotionlessObj[1].push_back(data[2]);
                    }
                }

                if ( strcmp( name1, "PoliceOfficeNum") == 0 )
                    nCntPoliceOffice = atol(name2);

                for (loop1=0; loop1<nCntPoliceOffice; loop1++ ){
                    sprintf( buffer, "PoliceOffice%ld", loop1 );
                    if ( strcmp( name1, buffer) == 0 ){
                        ChangeDelimiter(name2, ',');
                        n = sscanf(name2, "%ld %ld %ld %ld %ld",
                                        &data[0], &data[1], &data[2], &data[3], &data[4]);
                        MotionlessObj[2].push_back(data[2]);
                    }
                }

                if ( strcmp( name1, "RefugeNum") == 0 )
                    nCntRefuge = atol(name2);

                for (loop1=0; loop1<nCntRefuge; loop1++ ){
                    sprintf( buffer, "Refuge%ld", loop1 );
                    if ( strcmp( name1, buffer) == 0 ){
                        ChangeDelimiter(name2, ',');
                        n = sscanf(name2, "%ld %ld %ld %ld %ld",
                                        &data[0], &data[1], &data[2], &data[3], &data[4]);
                        MotionlessObj[3].push_back(data[2]);
                    }
                }

                if ( strcmp( name1, "CivilianNum") == 0 )
                    nCntCivilian = atol(name2);

                for (loop1=0; loop1<nCntCivilian; loop1++ ){
                    sprintf( buffer, "Civilian%ld", loop1 );
                    if ( strcmp( name1, buffer) == 0 ){
                        ChangeDelimiter(name2, ',');
                        n = sscanf(name2, "%ld %ld %ld %ld %ld %ld %ld %ld %ld",
                                        &data[0], &data[1], &data[2], &data[3], &data[4],
                                        &data[5], &data[6], &data[7], &data[8]);
                        if ( data[1] == 0 ){
                            MoveObjN[0].push_back(data[2]);
                            nCntCivilianN += 1;
                        }
                        else if ( data[1] == 1 ) {
                            MoveObjB[0].push_back(data[2]);
                            nCntCivilianB += 1;
                        }
                        else if ( data[1] == 2 ){
                            MoveObjRs[0].push_back(data[2]);
                            MoveObjRe[0].push_back(data[5]);
                            MoveObjRl[0].push_back(data[8] * 1000); //[m]->[mm]
                            nCntCivilianR += 1;
                        }
                    }
                }

                if ( strcmp( name1, "AmbulanceTeamNum") == 0 )
                    nAmbulanceTeam = atol(name2);

                for (loop1=0; loop1<nAmbulanceTeam; loop1++ ){
                    sprintf( buffer, "AmbulanceTeam%ld", loop1 );
                    if ( strcmp( name1, buffer) == 0 ){
                        ChangeDelimiter(name2, ',');
                        n = sscanf(name2, "%ld %ld %ld %ld %ld %ld %ld %ld %ld",
                                        &data[0], &data[1], &data[2], &data[3], &data[4],
                                        &data[5], &data[6], &data[7], &data[8]);
                        if ( data[1] == 0 ) {
                            MoveObjN[1].push_back(data[2]);
                            nAmbulanceTeamN += 1;
                        }
                        else if ( data[1] == 1 ) {
                            MoveObjB[1].push_back(data[2]);
                            nAmbulanceTeamB += 1;
                        }
                        else if ( data[1] == 2 ){
                            MoveObjRs[1].push_back(data[2]);
                            MoveObjRe[1].push_back(data[5]);
                            MoveObjRl[1].push_back(data[8] * 1000); //[m]->[mm]
                            nAmbulanceTeamR += 1;
                        }
                    }
                }

                if ( strcmp( name1, "FireBrigadeNum") == 0 )
                    nCntFireBrigade = atol(name2);

                for (loop1=0; loop1<nCntFireBrigade; loop1++ ){
                    sprintf( buffer, "FireBrigade%ld", loop1 );
                    if ( strcmp( name1, buffer) == 0 ){
                        ChangeDelimiter(name2, ',');
                        n = sscanf(name2, "%ld %ld %ld %ld %ld %ld %ld %ld %ld",
                                        &data[0], &data[1], &data[2], &data[3], &data[4],
                                        &data[5], &data[6], &data[7], &data[8]);
                        if ( data[1] == 0 ) {
                            MoveObjN[2].push_back(data[2]);
                            nCntFireBrigadeN += 1;
                        }
                        else if ( data[1] == 1 ) {
                            MoveObjB[2].push_back(data[2]);
                            nCntFireBrigadeB += 1;
                        }
                        else if ( data[1] == 2 ){
                            MoveObjRs[2].push_back(data[2]);
                            MoveObjRe[2].push_back(data[5]);
                            MoveObjRl[2].push_back(data[8] * 1000); //[m]->[mm]
                            nCntFireBrigadeR += 1;
                        }
                    }
                }

                if ( strcmp( name1, "PoliceForceNum") == 0 )
                    nCntPoliceForce = atol(name2);

                for (loop1=0; loop1<nCntPoliceForce; loop1++ ){
                    sprintf( buffer, "PoliceForce%ld", loop1 );
                    if ( strcmp( name1, buffer) == 0 ){
                        ChangeDelimiter(name2, ',');
                        n = sscanf(name2, "%ld %ld %ld %ld %ld %ld %ld %ld %ld",
                                        &data[0], &data[1], &data[2], &data[3], &data[4],
                                        &data[5], &data[6], &data[7], &data[8]);
                        if ( data[1] == 0 ) {
                            MoveObjN[3].push_back(data[2]);
                            nCntPoliceForceN += 1;
                        }
                        else if ( data[1] == 1 ) {
                            MoveObjB[3].push_back(data[2]);
                            nCntPoliceForceB += 1;
                        }
                        else if ( data[1] == 2 ){
                            MoveObjRs[3].push_back(data[2]);
                            MoveObjRe[3].push_back(data[5]);
                            MoveObjRl[3].push_back(data[8] * 1000); //[m]->[mm]
                            nCntPoliceForceR += 1;
                        }
                    }
                }

                if ( strcmp( name1, "FirePointNum") == 0 )
                    nCntFirePoint = atol(name2);

                for (loop1=0; loop1<nCntFirePoint; loop1++ ){
                    sprintf( buffer, "FirePoint%ld", loop1 );
                    if ( strcmp( name1, buffer) == 0 ){
                        ChangeDelimiter(name2, ',');
                        n = sscanf(name2, "%ld %ld %ld %ld %ld",
                                        &data[0], &data[1], &data[2], &data[3], &data[4]);
                        FirePointIDs.push_back(data[2]);
                    }
                }

            }
        }
        fclose(fpTxt);
        nCntBuilding = nCntAllBuilding - nCntRefuge - nCntAmbulanceCenter - nCntPoliceOffice - nCntFireStation;
    }

    //Constract Data
    pRoad = new Road[nCntRoad];
printf("Road:%ld\n", nCntRoad );

    pNode = new Node[nCntNode];
printf("Node:%ld\n", nCntNode );

    pBuilding = new Building[nCntBuilding];
printf("Building:%ld\n", nCntBuilding );
    pAmbulanceCenter = new AmbulanceCenter[nCntAmbulanceCenter];
printf("AmbulanceCenter:%ld\n", nCntAmbulanceCenter );
    pPoliceOffice = new PoliceOffice[nCntPoliceOffice];
printf("PoliceOffice:%ld\n", nCntPoliceOffice );
    pFireStation = new FireStation[nCntFireStation];
printf("FireStation:%ld\n", nCntFireStation );
    pRefuge = new Refuge[nCntRefuge];
printf("Refuge:%ld\n", nCntRefuge );

printf("Civilian:%ld(N:%ld,B:%ld,R:%ld))\n", nCntCivilian, nCntCivilianN, nCntCivilianB, nCntCivilianR );
printf("AmbulanceTeam:%ld(N:%ld,B:%ld,R:%ld))\n", nAmbulanceTeam, nAmbulanceTeamN, nAmbulanceTeamB, nAmbulanceTeamR );
printf("FireBrigade:%ld(N:%ld,B:%ld,R:%ld))\n", nCntFireBrigade, nCntFireBrigadeN, nCntFireBrigadeB, nCntFireBrigadeR );
printf("PoliceForce:%ld(N:%ld,B:%ld,R:%ld))\n", nCntPoliceForce, nCntPoliceForceN, nCntPoliceForceB, nCntPoliceForceR );
    //make road data
    if ( bIniFileF == true ){
        for ( loop1=0; loop1<nCntRoad; loop1++ ){
//printf("%ld/%ld\n", loop1, nCntRoad);
            result = fread2( &nCntRec, sizeof( S32 ), 1, fpRoad );
            result = fread2( &tmp, sizeof( S32 ), 1, fpRoad );
            data[0] = tmp;
            result = fread2( &tmp, sizeof( S32 ), 1, fpRoad );
            data[1] = tmp;
            result = fread2( &tmp, sizeof( S32 ), 1, fpRoad );
            data[2] = tmp;

            for (loop2=0; loop2<nCntCivilianR; loop2++){
                if ( data[1] == MoveObjRs[0][loop2] && data[2] == MoveObjRe[0][loop2] ){
                    MoveObjR2[0].push_back(loop1);
                }
            }

            for (loop2=0; loop2<nAmbulanceTeamR; loop2++){
                if ( data[1] == MoveObjRs[1][loop2] && data[2] == MoveObjRe[1][loop2] ){
                    MoveObjR2[1].push_back(loop1);
                }
            }

            for (loop2=0; loop2<nCntFireBrigadeR; loop2++){
                if ( data[1] == MoveObjRs[2][loop2] && data[2] == MoveObjRe[2][loop2] ){
                    MoveObjR2[2].push_back(loop1);
                }
            }

            for (loop2=0; loop2<nCntPoliceForceR; loop2++){
                if ( data[1] == MoveObjRs[3][loop2] && data[2] == MoveObjRe[3][loop2] ){
                    MoveObjR2[3].push_back(loop1);
                }
            }

            result = fseek( fpRoad, sizeof( S32 )*(nCntRec-4), SEEK_CUR);
        }
    }
    else {
        for ( loop1=0; loop1<nCntRoad; loop1++ ){
            result = fread2( &nCntRec, sizeof( S32 ), 1, fpRoad );
            result = fseek( fpRoad, sizeof( S32 )*3, SEEK_CUR);
            result = fread2( &tmp, sizeof( S32 ), 1, fpRoad );

            for (loop2=0; loop2<nCntCivilianR; loop2++){
                if ( MoveObjR2[0][loop2] == loop1 ){
                    MoveObjRl[0].push_back(tmp * 3 / 10);
                }
            }

            for (loop2=0; loop2<nAmbulanceTeamR; loop2++){
                if ( MoveObjR2[1][loop2] == loop1 ){
                    MoveObjRl[1].push_back(tmp * 5 / 10);
                }
            }

            for (loop2=0; loop2<nCntFireBrigadeR; loop2++){
                if ( MoveObjR2[2][loop2] == loop1 ){
                    MoveObjRl[2].push_back(tmp * 7 / 10);
                }
            }

            for (loop2=0; loop2<nCntPoliceForceR; loop2++){
                if ( MoveObjR2[3][loop2] == loop1 ){
                    MoveObjRl[3].push_back(tmp * 1 / 10);
                }
            }

            result = fseek( fpRoad, sizeof( S32 )*(nCntRec-5), SEEK_CUR);
        }
    }

    result = fseek( fpRoad, sizeof( S32 )*4, SEEK_SET);
    for ( loop1=0; loop1<nCntRoad; loop1++ ){
        result = fread2( &nCntRec, sizeof( S32 ), 1, fpRoad );
        result = fread2( &tmp, sizeof( S32 ), 1, fpRoad );
        pRoad[loop1].setId( tmp );
        
        printf("Setting road ID = %ld\n", tmp);
        
        result = fread2( &tmp, sizeof( S32 ), 1, fpRoad );
        pNode[tmp-1].testConnect(0, &pRoad[loop1], true);
        result = fread2( &tmp, sizeof( S32 ), 1, fpRoad );
        pNode[tmp-1].testConnect(0, &pRoad[loop1], false);
        result = fread2( &tmp, sizeof( S32 ), 1, fpRoad );
        pRoad[loop1].setLength(0, tmp);
        result = fread2( &tmp, sizeof( S32 ), 1, fpRoad );
        pRoad[loop1].setRoadKind(0, tmp);
        result = fread2( &tmp, sizeof( S32 ), 1, fpRoad );
        pRoad[loop1].setCarsPassToHead(0, tmp);
        result = fread2( &tmp, sizeof( S32 ), 1, fpRoad );
        pRoad[loop1].setCarsPassToTail(0, tmp);
        result = fread2( &tmp, sizeof( S32 ), 1, fpRoad );
        pRoad[loop1].setHumansPassToHead(0, tmp);
        result = fread2( &tmp, sizeof( S32 ), 1, fpRoad );
        pRoad[loop1].setHumansPassToTail(0, tmp);
        result = fread2( &tmp, sizeof( S32 ), 1, fpRoad );
//printf("width:%ld\n", tmp );
        pRoad[loop1].setWidth(0, tmp);
        result = fread2( &tmp, sizeof( S32 ), 1, fpRoad );
        pRoad[loop1].setBlock(0, tmp);
        result = fread2( &tmp, sizeof( S32 ), 1, fpRoad );
        pRoad[loop1].setRepairCost(0, tmp);
        result = fread2( &tmp, sizeof( S32 ), 1, fpRoad );
        pRoad[loop1].setMedianStrip(0, tmp);
        result = fread2( &tmp, sizeof( S32 ), 1, fpRoad );
        pRoad[loop1].setLinesToHead(0, tmp);
        result = fread2( &tmp, sizeof( S32 ), 1, fpRoad );
        pRoad[loop1].setLinesToTail(0, tmp);
        result = fread2( &tmp, sizeof( S32 ), 1, fpRoad );
        pRoad[loop1].setWidthForWalkers(0, tmp);

        pool.testAdd( &pRoad[loop1] );
    }
    fclose(fpRoad);
//printf("Road Data OK\n" );

    //make node data
    if ( bIniFileF == true ){
        for ( loop1=0; loop1<nCntNode; loop1++ ){
            result = fread2( &nCntRec, sizeof( S32 ), 1, fpNode );
            result = fread2( &tmp, sizeof( S32 ), 1, fpNode );

            for (loop2=0; loop2<nCntCivilianN; loop2++){
                if ( tmp == MoveObjN[0][loop2] ){
                    MoveObjN2[0].push_back(loop1);
                }
            }

            for (loop2=0; loop2<nAmbulanceTeamN; loop2++){
                if ( tmp == MoveObjN[1][loop2] ){
                    MoveObjN2[1].push_back(loop1);
                }
            }

            for (loop2=0; loop2<nCntFireBrigadeN; loop2++){
                if ( tmp == MoveObjN[2][loop2] ){
                    MoveObjN2[2].push_back(loop1);
                }
            }

            for (loop2=0; loop2<nCntPoliceForceN; loop2++){
                if ( tmp == MoveObjN[3][loop2] ){
                    MoveObjN2[3].push_back(loop1);
                }
            }

            result = fseek( fpNode, sizeof( S32 )*(nCntRec-2), SEEK_CUR);
        }
    }
    result = fseek( fpNode, sizeof( S32 )*4, SEEK_SET);
    for ( loop1=0; loop1<nCntNode; loop1++ ){
        result = fread2( &nCntRec, sizeof( S32 ), 1, fpNode );
        result = fread2( &tmp, sizeof( S32 ), 1, fpNode );
        pNode[loop1].setId( tmp );

        printf("Setting node ID = %ld ",tmp);
        
        result = fread2( &tmp, sizeof( S32 ), 1, fpNode );
        pNode[loop1].setX(0, tmp);

        printf("| X = %ld ",tmp);

        result = fread2( &tmp, sizeof( S32 ), 1, fpNode );
        pNode[loop1].setY(0, tmp);

        printf("| Y = %ld\n",tmp);

        result = fread2( &nCntRec2, sizeof( S32 ), 1, fpNode );
        for (loop2=0; loop2<nCntRec2; loop2++){
            result = fread2( &tmp, sizeof( S32 ), 1, fpNode );
            // eIDs & bIDs
        }
        result = fread2( &tmp, sizeof( S32 ), 1, fpNode );
        pNode[loop1].setSignal(0, tmp);

        bytes.clear();
        for (loop2=0; loop2<nCntRec2; loop2++){
            result = fread2( &tmp, sizeof( S32 ), 1, fpNode );
            tmp_byte = tmp & 0xff000000;
            bytes.push_back( (Byte)(tmp_byte >> 24) );
            tmp_byte = tmp & 0x00ff0000;
            bytes.push_back( (Byte)(tmp_byte >> 16) );
            tmp_byte = tmp & 0x0000ff00;
            bytes.push_back( (Byte)(tmp_byte >> 8) );
            tmp_byte = tmp & 0x000000ff;
            bytes.push_back( (Byte)tmp_byte );
        }
        pNode[loop1].setShortcutToTurn(0, bytes);

        bytes.clear();
        for (loop2=0; loop2<nCntRec2; loop2++){
            result = fread2( &tmp, sizeof( S32 ), 1, fpNode );
            tmp_byte = tmp & 0xff000000;
            bytes.push_back( (Byte)(tmp_byte >> 24) );
            tmp_byte = tmp & 0x00ff0000;
            bytes.push_back( (Byte)(tmp_byte >> 16) );
            tmp_byte = tmp & 0x0000ff00;
            bytes.push_back( (Byte)(tmp_byte >> 8) );
            tmp_byte = tmp & 0x000000ff;
            bytes.push_back( (Byte)tmp_byte );

            result = fread2( &tmp, sizeof( S32 ), 1, fpNode );
            tmp_byte = tmp & 0xff000000;
            bytes.push_back( (Byte)(tmp_byte >> 24) );
            tmp_byte = tmp & 0x00ff0000;
            bytes.push_back( (Byte)(tmp_byte >> 16) );
            tmp_byte = tmp & 0x0000ff00;
            bytes.push_back( (Byte)(tmp_byte >> 8) );
            tmp_byte = tmp & 0x000000ff;
            bytes.push_back( (Byte)tmp_byte );
        }
        pNode[loop1].setPocketToTurnAcross(0, bytes);

        bytes.clear();
        for (loop2=0; loop2<nCntRec2; loop2++){
            result = fread2( &tmp, sizeof( S32 ), 1, fpNode );
            tmp_byte = tmp & 0xff000000;
            bytes.push_back( (Byte)(tmp_byte >> 24) );
            tmp_byte = tmp & 0x00ff0000;
            bytes.push_back( (Byte)(tmp_byte >> 16) );
            tmp_byte = tmp & 0x0000ff00;
            bytes.push_back( (Byte)(tmp_byte >> 8) );
            tmp_byte = tmp & 0x000000ff;
            bytes.push_back( (Byte)tmp_byte );

            result = fread2( &tmp, sizeof( S32 ), 1, fpNode );
            tmp_byte = tmp & 0xff000000;
            bytes.push_back( (Byte)(tmp_byte >> 24) );
            tmp_byte = tmp & 0x00ff0000;
            bytes.push_back( (Byte)(tmp_byte >> 16) );
            tmp_byte = tmp & 0x0000ff00;
            bytes.push_back( (Byte)(tmp_byte >> 8) );
            tmp_byte = tmp & 0x000000ff;
            bytes.push_back( (Byte)tmp_byte );

            result = fread2( &tmp, sizeof( S32 ), 1, fpNode );
            tmp_byte = tmp & 0xff000000;
            bytes.push_back( (Byte)(tmp_byte >> 24) );
            tmp_byte = tmp & 0x00ff0000;
            bytes.push_back( (Byte)(tmp_byte >> 16) );
            tmp_byte = tmp & 0x0000ff00;
            bytes.push_back( (Byte)(tmp_byte >> 8) );
            tmp_byte = tmp & 0x000000ff;
            bytes.push_back( (Byte)tmp_byte );
        }
        pNode[loop1].setSignalTiming(0, bytes);

// printf("Puvodni vypis: b:%ld, %ld,%ld\n", pNode[loop1].id(), pNode[loop1].x() ,pNode[loop1].y() );
        pool.testAdd( &pNode[loop1] );
    }
    fclose(fpNode);
//printf("Node Data OK\n" );

//AmbulanceCenter
//PoliceOffice
//FireStation
//Refuge
    //make building data
    if ( bIniFileF == true ){
        cntBA = cntBP = cntBF = cntBR = cntB = 0;
        for ( loop1=0; loop1<nCntAllBuilding; loop1++ ){
            result = fread2( &nCntRec, sizeof( S32 ), 1, fpBuilding );
            result = fread2( &tmp, sizeof( S32 ), 1, fpBuilding );
            for (loop2=0; loop2<nCntAmbulanceCenter; loop2++){
                if ( tmp == MotionlessObj[0][loop2] ){
                    MotionlessObj2[0].push_back(loop1);
                    cntBA += 1;
                }
            }

            for (loop2=0; loop2<nCntFireStation; loop2++){
                if ( tmp == MotionlessObj[1][loop2] ){
                    MotionlessObj2[1].push_back(loop1);
                    cntBF += 1;
                }
            }

            for (loop2=0; loop2<nCntPoliceOffice; loop2++){
                if ( tmp == MotionlessObj[2][loop2] ){
                    MotionlessObj2[2].push_back(loop1);
                    cntBP += 1;
                }
            }

            for (loop2=0; loop2<nCntRefuge; loop2++){
                if ( tmp == MotionlessObj[3][loop2] ){
                    MotionlessObj2[3].push_back(loop1);
                    cntBR += 1;
                }
            }
            cntB = loop1 - cntBA - cntBP - cntBF - cntBR;

            for (loop2=0; loop2<nCntFirePoint; loop2++){
                if ( tmp == FirePointIDs[loop2] ){
                    FirePointIDs2.push_back(loop1);
                }
            }

            for (loop2=0; loop2<nCntCivilianB; loop2++){
                if ( tmp == MoveObjB[0][loop2] ){
                    MoveObjB2[0].push_back(cntB);
                }
            }

            for (loop2=0; loop2<nAmbulanceTeamB; loop2++){
                if ( tmp == MoveObjB[1][loop2] ){
                    MoveObjB2[1].push_back(cntB);
                }
            }

            for (loop2=0; loop2<nCntFireBrigadeB; loop2++){
                if ( tmp == MoveObjB[2][loop2] ){
                    MoveObjB2[2].push_back(cntB);
                }
            }

            for (loop2=0; loop2<nCntPoliceForceB; loop2++){
                if ( tmp == MoveObjB[3][loop2] ){
                    MoveObjB2[3].push_back(cntB);
                }
            }

            result = fseek( fpBuilding, sizeof( S32 )*(nCntRec-2), SEEK_CUR);
        }
    }

    bool bFire = false;
    bool bspF;

    cntBA = cntBP = cntBF = cntBR = cntB = 0;

    result = fseek( fpBuilding, sizeof( S32 )*4, SEEK_SET);
    for ( loop1=0; loop1<nCntAllBuilding; loop1++ ){
//printf("%ld/%ld\n", loop1, nCntAllBuilding);
        bspF = NULL;
        for (loop2=0; loop2<nCntAmbulanceCenter; loop2++){
            if ( loop1 == MotionlessObj2[0][loop2] ){
                pAllBuilding = & pAmbulanceCenter[cntBA];
                cntBA = cntBA +1;
                bspF = true;
            }
        }

        for (loop2=0; loop2<nCntFireStation; loop2++){
            if ( loop1 == MotionlessObj2[1][loop2] ){
                pAllBuilding = & pFireStation[cntBF];
                cntBF = cntBF +1;
                bspF = true;
            }
        }

        for (loop2=0; loop2<nCntPoliceOffice; loop2++){
            if ( loop1 == MotionlessObj2[2][loop2] ){
                pAllBuilding = & pPoliceOffice[cntBP];
                cntBP = cntBP +1;
                bspF = true;
            }
        }

        for (loop2=0; loop2<nCntRefuge; loop2++){
            if ( loop1 == MotionlessObj2[3][loop2] ){
                pAllBuilding = & pRefuge[cntBR];
                cntBR = cntBR +1;
                bspF = true;
            }
        }

        if (!bspF){
            pAllBuilding = & pBuilding[cntB];
            cntB = cntB +1;
        }

//printf("cntBA:%ld,", cntBA);
//printf("cntBP:%ld,", cntBP);
//printf("cntBF:%ld,", cntBF);
//printf("cntBR:%ld,", cntBR);
//printf("cntB:%ld\n", cntB);
        result = fread2( &nCntRec, sizeof( S32 ), 1, fpBuilding );
        result = fread2( &tmp, sizeof( S32 ), 1, fpBuilding );
        pAllBuilding->setId( tmp );

        printf("Setting all_buildings ID = %ld |",tmp);

        result = fread2( &tmp, sizeof( S32 ), 1, fpBuilding );
        pAllBuilding->setX(0, tmp);

        printf(" X = %ld |",tmp);

        result = fread2( &tmp, sizeof( S32 ), 1, fpBuilding );
        pAllBuilding->setY(0, tmp);

        printf(" Y = %ld | ",tmp);

        result = fread2( &tmp, sizeof( S32 ), 1, fpBuilding );
        pAllBuilding->setFloors(0, tmp);
        result = fread2( &tmp, sizeof( S32 ), 1, fpBuilding );
        pAllBuilding->setBuildingAttributes(0, tmp);
        result = fread2( &tmp, sizeof( S32 ), 1, fpBuilding );
// if (bFire != true){
// tmp = 1;
// printf("%ld, %ld\n", pBuilding[loop1].x(), pBuilding[loop1].y() );
// bFire = true;
// }
/*
        if (pBuilding[loop1].x() == 23046400 && pBuilding[loop1].y() == 3731000 ){
            tmp = 1;
        }
        if (pBuilding[loop1].x() == 22776000 && pBuilding[loop1].y() == 3621000 ){
            tmp = 1;
        }
        if (pBuilding[loop1].x() == 22942100 && pBuilding[loop1].y() == 3796300 ){
            tmp = 1;
        }
        if (pBuilding[loop1].x() == 22975800 && pBuilding[loop1].y() == 3702000 ){
            tmp = 1;
        }
*/
        for (loop2=0; loop2<nCntFirePoint; loop2++){
            if (loop1 == FirePointIDs2[loop2]){
                tmp = 1;
                printf("FirePoint (%ld, %ld)\n", pAllBuilding->x(), pAllBuilding->y() );
            }
        }
        pAllBuilding->setIgnition(0, tmp);
        result = fread2( &tmp, sizeof( S32 ), 1, fpBuilding );
        pAllBuilding->setFieryness(0, tmp);
        result = fread2( &tmp, sizeof( S32 ), 1, fpBuilding );
        pAllBuilding->setBrokenness(0, tmp);

        result = fread2( &nCntRec2, sizeof( S32 ), 1, fpBuilding );
        for (loop2=0; loop2<nCntRec2; loop2++){
            result = fread2( &tmp, sizeof( S32 ), 1, fpBuilding );
            pNode[tmp-1].testConnect(0, pAllBuilding);
        }

        result = fread2( &tmp, sizeof( S32 ), 1, fpBuilding );
// pAllBuilding->setBuildingShapeId(0, tmp);
        result = fread2( &tmp, sizeof( S32 ), 1, fpBuilding );
        pAllBuilding->setBuildingAreaGround(0, tmp);
        result = fread2( &tmp, sizeof( S32 ), 1, fpBuilding );
        pAllBuilding->setBuildingAreaTotal(0, tmp);
        result = fread2( &tmp, sizeof( S32 ), 1, fpBuilding );
        pAllBuilding->setBuildingCode(0, tmp);

        printf("Type (Code) = %d\n",tmp);

        result = fread2( &nCntRec2, sizeof( S32 ), 1, fpBuilding );
        bytes.clear();
        for (loop2=0; loop2<nCntRec2; loop2++){

            result = fread2( &tmp, sizeof( S32 ), 1, fpBuilding );
            tmp_byte = tmp & 0xff000000;
            bytes.push_back( (Byte)(tmp_byte >> 24) );
            tmp_byte = tmp & 0x00ff0000;
            bytes.push_back( (Byte)(tmp_byte >> 16) );
            tmp_byte = tmp & 0x0000ff00;
            bytes.push_back( (Byte)(tmp_byte >> 8) );
            tmp_byte = tmp & 0x000000ff;
            bytes.push_back( (Byte)tmp_byte );

            result = fread2( &tmp, sizeof( S32 ), 1, fpBuilding );
            tmp_byte = tmp & 0xff000000;
            bytes.push_back( (Byte)(tmp_byte >> 24) );
            tmp_byte = tmp & 0x00ff0000;
            bytes.push_back( (Byte)(tmp_byte >> 16) );
            tmp_byte = tmp & 0x0000ff00;
            bytes.push_back( (Byte)(tmp_byte >> 8) );
            tmp_byte = tmp & 0x000000ff;
            bytes.push_back( (Byte)tmp_byte );
        }
        pAllBuilding->setBuildingApexes(0, bytes);
        
        pool.testAdd( pAllBuilding );
    }
    fclose(fpBuilding);
//printf("Motionless Object OK\n");

//#######################################################

// make AllGISDataList
    if( AllListOutput != 0 ){
        if( (fpTxt = fopen( "road.txt", "w+"FOPEN_MODE_TEXT )) != NULL ){
            for ( loop1=0; loop1<nCntRoad; loop1++ ){
                sprintf(buffer, "%ld : %ld->%ld\n", pRoad[loop1].id() ,
                    pRoad[loop1].head()->id(), pRoad[loop1].tail()->id() );
                result = fwrite( buffer, sizeof( char ), strlen( buffer ), fpTxt );
            }
            fclose(fpTxt);
        }

        if( (fpTxt = fopen( "node.txt", "w+"FOPEN_MODE_TEXT )) != NULL ){
            for ( loop1=0; loop1<nCntNode; loop1++ ){
                sprintf(buffer, "%ld : (%ld, %ld)\n", pNode[loop1].id() ,
                    pNode[loop1].x() ,pNode[loop1].y() );
                result = fwrite( buffer, sizeof( char ), strlen( buffer ), fpTxt );
            }
            fclose(fpTxt);
        }

        if( (fpTxt = fopen( "building.txt", "w+"FOPEN_MODE_TEXT )) != NULL ){
            for ( loop1=0; loop1<nCntBuilding; loop1++ ){
                sprintf(buffer, "%ld : (%ld, %ld)\n", pBuilding[loop1].id() ,
                    pBuilding[loop1].x(), pBuilding[loop1].y() );
                result = fwrite( buffer, sizeof( char ), strlen( buffer ), fpTxt );
            }
            fclose(fpTxt);
        }

        if( (fpTxt = fopen( "refuge.txt", "w+"FOPEN_MODE_TEXT )) != NULL ){
            for ( loop1=0; loop1<nCntRefuge; loop1++ ){
                sprintf(buffer, "%ld : (%ld, %ld)\n", pRefuge[loop1].id() ,
                    pRefuge[loop1].x(), pRefuge[loop1].y() );
                result = fwrite( buffer, sizeof( char ), strlen( buffer ), fpTxt );
            }
            fclose(fpTxt);
        }
    
    }

//#######################################################

// int k, z;

// k = number;
// z = nCntRoad / k;
// if(z < 1)
// z = 1;
// for ( loop1=0; loop1<nCntRoad; loop1++ ){
// if(loop1 % z == 0 && k-- > 0) {
// Civilian* civilian = new Civilian();
// pool.testAdd(civilian);
// civilian->setPosition(0, &pRoad[loop1]);
// civilian->setPositionExtra(0, pRoad[loop1].length() * 3 / 10);
// }
// }

    // Place Agents
    
    // Civilian

    // Civilian on Node
    for ( loop1=0; loop1<nCntCivilianN; loop1++ ){
        Civilian* civilian = new Civilian();
        pool.testAdd(civilian);
        civilian->setPosition(0, &pNode[MoveObjN2[0][loop1]]);
    }
// printf("On Node OK\n");

    // Civilian in Building
    for ( loop1=0; loop1<nCntCivilianB; loop1++ ){
        Civilian* civilian = new Civilian();
        pool.testAdd(civilian);
        civilian->setPosition(0, &pBuilding[MoveObjB2[0][loop1]]);
    }
// printf("On Building OK\n");

    // Civilian on Road
    for ( loop1=0; loop1<nCntCivilianR; loop1++ ){
        Civilian* civilian = new Civilian();
        pool.testAdd(civilian);
        civilian->setPosition(0, &pRoad[MoveObjR2[0][loop1]]);
        civilian->setPositionExtra(0, MoveObjRl[0][loop1]);
    }
// printf("On Road OK\n");

    //AmbulanceTeam

    //AmbulanceTeam on Node
    for ( loop1=0; loop1<nAmbulanceTeamN; loop1++ ){
        AmbulanceTeam* ambulance = new AmbulanceTeam();
        pool.testAdd(ambulance);
        ambulance->setPosition(0, &pNode[MoveObjN2[1][loop1]]);
    }

    // AmbulanceTeam in Building
    for ( loop1=0; loop1<nAmbulanceTeamB; loop1++ ){
        AmbulanceTeam* ambulance = new AmbulanceTeam();
        pool.testAdd(ambulance);
        ambulance->setPosition(0, &pBuilding[MoveObjB2[1][loop1]]);
    }

    // AmbulanceTeam on Road
    for ( loop1=0; loop1<nAmbulanceTeamR; loop1++ ){
        AmbulanceTeam* ambulance = new AmbulanceTeam();
        pool.testAdd(ambulance);
        ambulance->setPosition(0, &pRoad[MoveObjR2[1][loop1]]);
        ambulance->setPositionExtra(0, MoveObjRl[1][loop1]);
    }

    //FireBrigade

    //FireBrigade on Node
    for ( loop1=0; loop1<nCntFireBrigadeN; loop1++ ){
        FireBrigade* fireteam = new FireBrigade();
        pool.testAdd(fireteam);
        fireteam->setPosition(0, &pNode[MoveObjN2[2][loop1]]);
    }

    // FireBrigade in Building
    for ( loop1=0; loop1<nCntFireBrigadeB; loop1++ ){
        FireBrigade* fireteam = new FireBrigade();
        pool.testAdd(fireteam);
        fireteam->setPosition(0, &pBuilding[MoveObjB2[2][loop1]]);
    }

    // FireBrigade on Road
    for ( loop1=0; loop1<nCntFireBrigadeR; loop1++ ){
        FireBrigade* fireteam = new FireBrigade();
        pool.testAdd(fireteam);
        fireteam->setPosition(0, &pRoad[MoveObjR2[2][loop1]]);
        fireteam->setPositionExtra(0, MoveObjRl[2][loop1]);
    }

    //PoliceForce

    //PoliceForce on Node
    for ( loop1=0; loop1<nCntPoliceForceN; loop1++ ){
        PoliceForce* policeforce = new PoliceForce();
        pool.testAdd(policeforce);
        policeforce->setPosition(0, &pNode[MoveObjN2[3][loop1]]);
    }

    // PoliceForce in Building
    for ( loop1=0; loop1<nCntPoliceForceB; loop1++ ){
        PoliceForce* policeforce = new PoliceForce();
        pool.testAdd(policeforce);
        policeforce->setPosition(0, &pBuilding[MoveObjB2[3][loop1]]);
    }

    //PoliceForce on Road
    for ( loop1=0; loop1<nCntPoliceForceR; loop1++ ){
        PoliceForce* policeforce = new PoliceForce();
        pool.testAdd(policeforce);
        policeforce->setPosition(0, &pRoad[MoveObjR2[3][loop1]]);
        policeforce->setPositionExtra(0, MoveObjRl[3][loop1]);
    }

//#if 0
// k = number;
// z = nCntNode / k;
// if(z < 1)
// z = 1;
// for ( loop1=0; loop1<nCntNode; loop1++ ){
// if(loop1 % z == 0 && k-- > 0) {
// AmbulanceTeam* ambulance = new AmbulanceTeam();
// pool.testAdd(ambulance);
// ambulance->setPosition(0, &pNode[loop1]);
// }
// }
//#endif
    printf("Make World OK\n");
    return;
}

The following section of this message contains a file attachment
prepared for transmission using the Internet MIME message format.
If you are using Pegasus Mail, or any another MIME-compliant system,
you should be able to save it or view it from within your mailer.
If you cannot, please ask your system administrator for assistance.

   ---- File information -----------
     File: node.bin
     Date: 27 Apr 2001, 8:15
     Size: 85016 bytes.
     Type: Unknown



822 : (22782900, 3600400)
823 : (22988400, 3530400)
824 : (22913300, 3523600)
825 : (22966400, 3545100)
826 : (22952300, 3598300)
827 : (22887100, 3604600)
828 : (22877600, 3626800)
829 : (22876200, 3569500)
830 : (22830700, 3671000)
831 : (22819600, 3718600)
832 : (22828000, 3708200)
833 : (23077600, 3609900)
834 : (23082800, 3570600)
835 : (23138600, 3572500)
836 : (22986700, 3682000)
837 : (22938700, 3687300)
838 : (22990100, 3731100)
839 : (22995000, 3735200)
840 : (22991900, 3701500)
841 : (23019000, 3651900)
842 : (23036900, 3666500)
843 : (22873800, 3770100)
844 : (22883400, 3757700)
845 : (22906300, 3730200)
846 : (22924400, 3738500)
847 : (22951500, 3774500)
848 : (23106900, 3621900)
849 : (23083100, 3651900)
850 : (23066300, 3672900)
851 : (23120000, 3637600)
852 : (23050900, 3737600)
853 : (23058600, 3728100)
854 : (23071000, 3753000)
855 : (23024500, 3724500)
856 : (23015400, 3736200)
857 : (22973000, 3790200)
858 : (22968300, 3795400)
859 : (23139900, 3818900)
860 : (22802300, 3616300)
861 : (22804100, 3612500)
862 : (22872500, 3574200)
863 : (22868200, 3570700)
864 : (22845600, 3651600)
865 : (22843800, 3654800)
866 : (22848100, 3604400)
867 : (22853300, 3607100)
868 : (22961400, 3508900)
869 : (22962300, 3507800)
870 : (23076800, 3599300)
871 : (23077300, 3598400)
872 : (22820200, 3630600)
873 : (22824400, 3634100)
874 : (22759200, 3581400)
875 : (22752700, 3576100)
876 : (22925400, 3576400)
877 : (22917900, 3570300)
878 : (22871300, 3672800)
879 : (22869100, 3670800)
880 : (22868000, 3580000)
881 : (22997400, 3576300)
882 : (22994600, 3580000)
883 : (23007300, 3564200)
884 : (23002900, 3570000)
885 : (23080200, 3525400)
886 : (23074300, 3520900)
887 : (23010100, 3645000)
888 : (23006000, 3641400)
889 : (22950000, 3636500)
890 : (22943900, 3643600)
891 : (22940200, 3727700)
892 : (22948000, 3733800)
893 : (22925100, 3715600)
894 : (22931200, 3720800)
895 : (22840100, 3794000)
896 : (22830800, 3786600)
897 : (23110500, 3617800)
898 : (23114400, 3613200)
899 : (23158600, 3706900)
900 : (23153700, 3712300)
901 : (23048300, 3695500)
902 : (23044700, 3700400)
903 : (23083100, 3818200)
904 : (23086900, 3810900)
905 : (22829700, 3580400)
906 : (22824400, 3587700)
907 : (23002300, 3541200)
908 : (23013100, 3549600)
909 : (22962200, 3541900)
910 : (22894100, 3610200)
911 : (22939000, 3589800)
912 : (22927500, 3604600)
913 : (22900600, 3644700)
914 : (22905200, 3647800)
915 : (22857400, 3691000)
916 : (22846100, 3705300)
917 : (23026500, 3576000)
918 : (23022800, 3572900)
919 : (23068200, 3551800)
920 : (23062700, 3547300)
921 : (23095400, 3575800)
922 : (23099400, 3570400)
923 : (23062400, 3597300)
924 : (23064800, 3599700)
925 : (23021700, 3686600)
926 : (23022600, 3687300)
927 : (22992600, 3674900)
928 : (22990000, 3678200)
929 : (22941900, 3751700)
930 : (22950400, 3740700)
931 : (22917300, 3747500)
932 : (22912600, 3753100)
933 : (23148200, 3631300)
934 : (23138600, 3623400)
935 : (23125500, 3672500)
936 : (23130000, 3675600)
937 : (23045200, 3744700)
938 : (23041200, 3749700)
939 : (23076300, 3746600)
940 : (22820600, 3778700)
941 : (22807400, 3569500)
942 : (22854500, 3549800)
943 : (22977200, 3554400)
944 : (22901600, 3588400)
945 : (22945000, 3592100)
946 : (22901400, 3637400)
947 : (22832100, 3624900)
948 : (22881800, 3563000)
949 : (22779700, 3744400)
950 : (22808700, 3698400)
951 : (22875900, 3729500)
952 : (23058000, 3543400)
953 : (23102600, 3566900)
954 : (23114900, 3581500)
955 : (23091300, 3620900)
956 : (23014000, 3698000)
957 : (23011300, 3701600)
958 : (23016100, 3682300)
959 : (22960700, 3708300)
960 : (22958500, 3697300)
961 : (22938100, 3650800)
962 : (22899400, 3769000)
963 : (22866800, 3818500)
964 : (22879000, 3762700)
965 : (22923700, 3772600)
966 : (22974900, 3756600)
967 : (22905200, 3762100)
968 : (23150400, 3616700)
969 : (23101500, 3683100)
970 : (23106900, 3657700)
971 : (23039500, 3706100)
972 : (23063800, 3778300)
973 : (23113600, 3727900)
974 : (23133800, 3814400)
975 : (23097400, 3790400)
976 : (23125300, 3520600)
977 : (23126000, 3562600)
978 : (22881200, 3572100)
979 : (22922800, 3511500)
980 : (22927800, 3514300)
981 : (23015900, 3649300)
982 : (23013200, 3649800)
983 : (23033300, 3631200)
984 : (23034400, 3631600)
985 : (22959400, 3743800)
986 : (22961800, 3739700)
987 : (22936100, 3724500)
988 : (22939100, 3721400)
989 : (22876100, 3766700)
990 : (22876900, 3767500)
991 : (23089000, 3644700)
992 : (23092800, 3646800)
993 : (23079500, 3742600)
994 : (23078500, 3741700)
995 : (23061100, 3685500)
996 : (23058000, 3683000)
997 : (22774800, 3740600)
998 : (22767200, 3733800)
999 : (22919300, 3516800)
1000 : (22840700, 3647900)
1001 : (22842300, 3611100)
1002 : (22989100, 3586700)
1003 : (22985600, 3591400)
1004 : (23033900, 3530700)
1005 : (23026800, 3540000)
1006 : (23051200, 3509300)
1007 : (23043500, 3519400)
1008 : (23133200, 3568400)
1009 : (22920200, 3674800)
1010 : (22914500, 3681400)
1011 : (22957000, 3741800)
1012 : (22870900, 3734300)
1013 : (22860800, 3748900)
1014 : (22864300, 3744000)
1015 : (23133300, 3590100)
1016 : (23140200, 3581100)
1017 : (23070200, 3668000)
1018 : (23074400, 3662800)
1019 : (23022700, 3727000)
1020 : (23108700, 3724500)
1021 : (23105300, 3721200)
1022 : (22891800, 3514900)
1023 : (22886300, 3509900)
1024 : (22802900, 3574600)
1025 : (22826400, 3544500)
1026 : (22830700, 3539100)
1027 : (22986500, 3561800)
1028 : (22997000, 3569700)
1029 : (22913500, 3532100)
1030 : (22942500, 3555700)
1031 : (22917600, 3616900)
1032 : (22913800, 3621500)
1033 : (22869400, 3620100)
1034 : (22873900, 3623600)
1035 : (22834300, 3720000)
1036 : (22830900, 3724800)
1037 : (22835900, 3698200)
1038 : (23020500, 3599700)
1039 : (23032400, 3608900)
1040 : (23067100, 3591500)
1041 : (23118000, 3577500)
1042 : (23086200, 3617000)
1043 : (22946200, 3677400)
1044 : (22953100, 3668200)
1045 : (23016800, 3694400)
1046 : (22954800, 3703300)
1047 : (22891700, 3778800)
1048 : (22889600, 3781200)
1049 : (22898000, 3740100)
1050 : (22894300, 3744300)
1051 : (23161800, 3638700)
1052 : (23159500, 3636700)
1053 : (23147800, 3652800)
1054 : (23150000, 3655000)
1055 : (23073300, 3737300)
1056 : (23036200, 3756300)
1057 : (23040800, 3760700)
1058 : (23135400, 3785900)
1059 : (23121300, 3804500)
1060 : (23135900, 3527700)
1061 : (23139800, 3523500)
1062 : (22860700, 3754900)
1063 : (22875000, 3765900)
1064 : (22808400, 3769000)
1065 : (22861600, 3525800)
1066 : (22795100, 3584900)
1067 : (22806900, 3654200)
1068 : (22969100, 3515200)
1069 : (22975100, 3583000)
1070 : (22900900, 3614900)
1071 : (22858700, 3633800)
1072 : (22891200, 3637400)
1073 : (22836700, 3618600)
1074 : (22852300, 3599300)
1075 : (23050700, 3537900)
1076 : (23043000, 3589000)
1077 : (23045800, 3640400)
1078 : (23110200, 3587400)
1079 : (22976000, 3603500)
1080 : (22988600, 3706100)
1081 : (22974300, 3687300)
1082 : (23031100, 3662400)
1083 : (22894700, 3775100)
1084 : (22911900, 3705100)
1085 : (22929800, 3765700)
1086 : (22931700, 3799600)
1087 : (22937800, 3792200)
1088 : (22903500, 3733800)
1089 : (23113600, 3663100)
1090 : (23136900, 3690600)
1091 : (23155400, 3659600)
1092 : (23056300, 3731100)
1093 : (23068500, 3713300)
1094 : (23030200, 3718100)
1095 : (23111400, 3763900)
1096 : (23019100, 3731300)
1097 : (23056100, 3787900)
1098 : (22983900, 3776800)
1099 : (23101900, 3780800)
1100 : (23153000, 3583200)
1101 : (22857900, 3592400)
1102 : (22853700, 3589000)
1103 : (22903200, 3612500)
1104 : (22904000, 3611900)
1105 : (23020100, 3647600)
1106 : (23043700, 3618100)
1107 : (23043200, 3617600)
1108 : (23104900, 3545100)
1109 : (23100800, 3549100)
1110 : (23109600, 3540300)
1111 : (22953900, 3703000)
1112 : (22878900, 3731800)
1113 : (23041700, 3703300)
1114 : (23038400, 3700500)
1115 : (22963100, 3801900)
1116 : (22962100, 3796700)
1117 : (23154800, 3704300)
1118 : (22888200, 3545900)
1119 : (22892600, 3549400)
1120 : (22901600, 3696400)
1121 : (22904000, 3693400)
1122 : (22807400, 3815100)
1123 : (22815300, 3805500)
1124 : (22940400, 3588000)
1125 : (22891300, 3688500)
1126 : (22884500, 3683300)
1127 : (22886800, 3556900)
1128 : (23019600, 3548300)
1129 : (23016200, 3552600)
1130 : (23112600, 3551500)
1131 : (23107600, 3547800)
1132 : (23120000, 3558000)
1133 : (23026900, 3659100)
1134 : (23022800, 3655200)
1135 : (22889900, 3710900)
1136 : (22899100, 3699600)
1137 : (22864000, 3815500)
1138 : (22858800, 3812100)
1139 : (23148900, 3580100)
1140 : (23098600, 3633100)
1141 : (23101500, 3629200)
1142 : (23005100, 3749400)
1143 : (22999900, 3756400)
1144 : (23079100, 3699900)
1145 : (23074000, 3695300)
1146 : (22846900, 3568500)
1147 : (22853500, 3574000)
1148 : (22982100, 3525800)
1149 : (22946800, 3529400)
1150 : (22856900, 3636000)
1151 : (22882400, 3630500)
1152 : (22886900, 3634100)
1153 : (22803000, 3705200)
1154 : (23038700, 3586000)
1155 : (23067500, 3580100)
1156 : (23071100, 3583100)
1157 : (23079500, 3595600)
1158 : (23039200, 3635300)
1159 : (23057600, 3601100)
1160 : (23061100, 3596800)
1161 : (23047800, 3612900)
1162 : (23053700, 3605500)
1163 : (22979900, 3651200)
1164 : (22984100, 3646100)
1165 : (23006700, 3675000)
1166 : (23010400, 3678000)
1167 : (23005100, 3742600)
1168 : (23003900, 3711300)
1169 : (23007400, 3714100)
1170 : (22864100, 3781500)
1171 : (23141000, 3609200)
1172 : (23134900, 3603900)
1173 : (23104600, 3685700)
1174 : (23059300, 3726400)
1175 : (23043400, 3804700)
1176 : (22979200, 3816100)
1177 : (22985600, 3821500)
1178 : (22915100, 3599000)
1179 : (22929600, 3582300)
1180 : (22873800, 3534700)
1181 : (22836900, 3560600)
1182 : (22812300, 3563200)
1183 : (22951700, 3563700)
1184 : (22935300, 3584200)
1185 : (22838600, 3646000)
1186 : (22909600, 3651300)
1187 : (22860700, 3589100)
1188 : (22865400, 3667900)
1189 : (22785400, 3679700)
1190 : (22848900, 3654700)
1191 : (23048500, 3593700)
1192 : (22965200, 3679100)
1193 : (22982000, 3693300)
1194 : (23047000, 3674500)
1195 : (22888400, 3752000)
1196 : (22885300, 3786700)
1197 : (23138800, 3652400)
1198 : (23031700, 3753200)
1199 : (22955600, 3811500)
1200 : (23009800, 3784500)
1201 : (23026400, 3797200)
1202 : (23099700, 3785600)
1203 : (23156100, 3585900)
1204 : (22961400, 3543000)
1205 : (23049100, 3613500)
1206 : (22988100, 3698300)
1207 : (22988900, 3697000)
1208 : (22805400, 3817400)
1209 : (22801000, 3814500)
1210 : (23144100, 3576200)
1211 : (22795700, 3757900)
1212 : (22791700, 3754700)
1213 : (22849300, 3515500)
1214 : (22843800, 3510900)
1215 : (22862000, 3665000)
1216 : (22864100, 3584700)
1217 : (23000100, 3573100)
1218 : (23090200, 3533200)
1219 : (23002200, 3637600)
1220 : (22995000, 3632500)
1221 : (22930700, 3660200)
1222 : (22846800, 3801600)
1223 : (23117900, 3608500)
1224 : (23123200, 3602000)
1225 : (23138400, 3730600)
1226 : (23129900, 3740300)
1227 : (23117000, 3756300)
1228 : (23113000, 3761500)
1229 : (23048100, 3814600)
1230 : (23042100, 3809800)
1231 : (22859200, 3543700)
1232 : (22867600, 3532700)
1233 : (22855400, 3560300)
1234 : (22970000, 3548100)
1235 : (22972100, 3550400)
1236 : (22923500, 3662300)
1237 : (22869200, 3675500)
1238 : (22806000, 3735000)
1239 : (22810700, 3729300)
1240 : (23030800, 3579400)
1241 : (23109900, 3557100)
1242 : (23092300, 3608500)
1243 : (23094700, 3606000)
1244 : (23071800, 3583800)
1245 : (23073600, 3581700)
1246 : (23070600, 3604300)
1247 : (22969300, 3682300)
1248 : (23026400, 3690900)
1249 : (22983100, 3686400)
1250 : (22979500, 3717200)
1251 : (22981300, 3715400)
1252 : (22965300, 3688500)
1253 : (22918300, 3715000)
1254 : (22910100, 3725500)
1255 : (23125500, 3681700)
1256 : (23129900, 3685100)
1257 : (23096800, 3697900)
1258 : (23105500, 3686400)
1259 : (23085800, 3734600)
1260 : (22820000, 3684800)
1261 : (23044000, 3561000)
1262 : (23053400, 3597800)
1263 : (23073800, 3556600)
1264 : (23055400, 3648100)
1265 : (23068900, 3516300)
1266 : (23002900, 3662700)
1267 : (22984000, 3695200)
1268 : (22925900, 3807000)
1269 : (22933100, 3762200)
1270 : (22964800, 3748400)
1271 : (22947700, 3778900)
1272 : (23092900, 3639500)
1273 : (23125900, 3642300)
1274 : (23088800, 3673600)
1275 : (23065100, 3731000)
1276 : (23017800, 3790500)
1277 : (23056400, 3821000)
1278 : (23038300, 3807000)
1279 : (23125800, 3808600)
1280 : (23119900, 3527200)
1281 : (22857100, 3521900)
1282 : (22859300, 3518400)
1283 : (22864800, 3661600)
1284 : (22909100, 3528900)
1285 : (22904900, 3525200)
1286 : (22890400, 3778100)
1287 : (23013400, 3738900)
1288 : (23017100, 3741000)
1289 : (22797700, 3666500)
1290 : (22803100, 3659900)
1291 : (22982500, 3594700)
1292 : (22980300, 3598000)
1293 : (23037500, 3526500)
1294 : (23054700, 3680400)
1295 : (22923500, 3669000)
1296 : (22969200, 3752000)
1297 : (22865700, 3741800)
1298 : (23130700, 3593000)
1299 : (23077900, 3658700)
1300 : (23100700, 3717200)
1301 : (23096000, 3713900)
1302 : (22990200, 3768200)
1303 : (22961000, 3571100)
1304 : (22910200, 3626400)
1305 : (22905900, 3631700)
1306 : (23039300, 3614200)
1307 : (23009500, 3591000)
1308 : (23038400, 3556400)
1309 : (23027200, 3638700)
1310 : (23030400, 3635100)
1311 : (23053400, 3617500)
1312 : (23058600, 3621400)
1313 : (23086200, 3616800)
1314 : (22961000, 3674400)
1315 : (22963300, 3671600)
1316 : (22995700, 3688600)
1317 : (22967400, 3713200)
1318 : (22976800, 3720700)
1319 : (22944400, 3783200)
1320 : (23162500, 3626400)
1321 : (23155900, 3620700)
1322 : (23108000, 3628000)
1323 : (23143800, 3656100)
1324 : (23063400, 3720300)
1325 : (23050100, 3767000)
1326 : (23055300, 3771500)
1327 : (23141900, 3520600)
1328 : (22869300, 3506100)
1329 : (22834900, 3534000)
1330 : (22990600, 3507700)
1331 : (22828800, 3628800)
1332 : (22811300, 3649700)
1333 : (23034900, 3582800)
1334 : (23084200, 3589900)
1335 : (22947000, 3711400)
1336 : (22921100, 3813600)
1337 : (22956200, 3768500)
1338 : (23107100, 3684700)
1339 : (23119800, 3667900)
1340 : (23064900, 3760000)
1341 : (23061800, 3764200)
1342 : (23030800, 3801100)
1343 : (23163200, 3802300)
1344 : (23132700, 3511100)
1345 : (23134000, 3531000)
1346 : (23147500, 3513800)
1347 : (22886200, 3634600)
1348 : (23087000, 3615800)
1349 : (23114900, 3553500)
1350 : (23120000, 3549100)
1351 : (23022300, 3544900)
1352 : (23026300, 3546500)
1353 : (22961400, 3676000)
1354 : (22933600, 3727300)
1355 : (23071300, 3660700)
1356 : (23055500, 3771800)
1357 : (23056400, 3770300)
1358 : (22993200, 3764300)
1359 : (22815100, 3773500)
1360 : (22868900, 3531600)
1361 : (22796200, 3611100)
1362 : (22788700, 3605300)
1363 : (22878900, 3566200)
1364 : (23012500, 3557300)
1365 : (23008900, 3562100)
1366 : (22960700, 3621900)
1367 : (22954700, 3630400)
1368 : (22978800, 3759100)
1369 : (22920600, 3711700)
1370 : (22996800, 3760300)
1371 : (23008700, 3744900)
1372 : (23052200, 3689800)
1373 : (23144000, 3788300)
1374 : (23139800, 3785300)
1375 : (22857400, 3547200)
1376 : (22867600, 3589100)
1377 : (22880000, 3598800)
1378 : (22897500, 3642400)
1379 : (23079800, 3561400)
1380 : (23058000, 3572800)
1381 : (23089400, 3583600)
1382 : (23086200, 3566400)
1383 : (23065800, 3590800)
1384 : (23055900, 3602800)
1385 : (22973500, 3658700)
1386 : (23019700, 3685000)
1387 : (23004300, 3678300)
1388 : (22996600, 3670100)
1389 : (22970700, 3728100)
1390 : (22952500, 3704500)
1391 : (22917700, 3780300)
1392 : (23091000, 3704800)
1393 : (23078100, 3665000)
1394 : (23059400, 3726400)
1395 : (23026300, 3748600)
1396 : (22965300, 3805600)
1397 : (23143900, 3518400)
1398 : (22837500, 3530400)
1399 : (22965800, 3512500)
1400 : (22875600, 3676300)
1401 : (22856400, 3660400)
1402 : (23070100, 3630800)
1403 : (22884200, 3718900)
1404 : (23157300, 3798800)
1405 : (23092700, 3800200)
1406 : (22784900, 3597300)
1407 : (22978700, 3522600)
1408 : (22979800, 3521700)
1409 : (23056900, 3600300)
1410 : (22952700, 3738200)
1411 : (22922500, 3708200)
1412 : (23022000, 3688100)
1413 : (23126400, 3598200)
1414 : (23130500, 3600300)
1415 : (22988300, 3770600)
1416 : (22786900, 3750300)
1417 : (22748000, 3571900)
1418 : (22907600, 3561500)
1419 : (22991300, 3584200)
1420 : (22846100, 3767100)
1421 : (22857600, 3752800)
1422 : (23036700, 3709500)
1423 : (23126600, 3737600)
1424 : (22822000, 3589900)
1425 : (22986500, 3513200)
1426 : (22922600, 3610400)
1427 : (22834400, 3719800)
1428 : (23011800, 3564100)
1429 : (23085600, 3606300)
1430 : (23080100, 3601800)
1431 : (23101800, 3597200)
1432 : (23087900, 3564300)
1433 : (23004700, 3710000)
1434 : (22983300, 3712300)
1435 : (22969900, 3683300)
1436 : (22967200, 3754200)
1437 : (22909300, 3756900)
1438 : (23036900, 3755000)
1439 : (22835500, 3720600)
1440 : (22861200, 3741400)
1441 : (22851900, 3553400)
1442 : (22775900, 3595800)
1443 : (23048700, 3564800)
1444 : (23062800, 3624700)
1445 : (22932400, 3695100)
1446 : (22985100, 3623800)
1447 : (22937500, 3756600)
1448 : (23145000, 3611900)
1449 : (23096300, 3679200)
1450 : (23140500, 3693900)
1451 : (23088900, 3707800)
1452 : (23150400, 3793600)
1453 : (23102600, 3516900)
1454 : (22879800, 3679800)
1455 : (22882700, 3676100)
1456 : (22898400, 3641100)
1457 : (23027200, 3638800)
1458 : (23026400, 3638000)
1459 : (23085500, 3565900)
1460 : (22975800, 3721500)
1461 : (23119100, 3669000)
1462 : (22801800, 3821700)
1463 : (23128800, 3564800)
1464 : (23162900, 3591400)
1465 : (23083000, 3703300)
1466 : (22978200, 3783800)
1467 : (23105700, 3773600)
1468 : (22847500, 3683500)
1469 : (23040200, 3622600)
1470 : (23124800, 3569300)
1471 : (23063800, 3593400)
1472 : (23098800, 3627200)
1473 : (22984600, 3726600)
1474 : (22999300, 3707500)
1475 : (23076400, 3703300)
1476 : (23126800, 3540000)
1477 : (22926500, 3507100)
1478 : (23093900, 3557300)
1479 : (23066900, 3515500)
1480 : (23150300, 3510300)
1481 : (22861100, 3579600)
1482 : (22904600, 3649100)
1483 : (22926900, 3665000)
1484 : (23093700, 3527800)
1485 : (23019600, 3723900)
1486 : (23042000, 3813900)
1487 : (22972500, 3613800)
1488 : (22969400, 3611300)
1489 : (22750500, 3720900)
1490 : (22765800, 3702900)
1491 : (22966200, 3608700)
1492 : (22801300, 3762900)
1493 : (22851700, 3806400)
1494 : (23103900, 3625800)
1495 : (23123200, 3748600)
1496 : (23137500, 3783200)
1497 : (23114900, 3766500)
1498 : (22994200, 3534800)
1499 : (22951600, 3533400)
1500 : (22796900, 3712700)
1501 : (23090600, 3610700)
1502 : (23077400, 3577000)
1503 : (22993600, 3634000)
1504 : (22973300, 3724500)
1505 : (22954100, 3702800)
1506 : (22945500, 3783700)
1507 : (22879200, 3538600)
1508 : (22766200, 3588100)
1509 : (22973900, 3519100)
1510 : (22792000, 3672400)
1511 : (23001000, 3682100)
1512 : (22920900, 3743100)
1513 : (23063400, 3677300)
1514 : (22963100, 3540500)
1515 : (23090300, 3610200)
1516 : (22902100, 3537300)
1517 : (23058100, 3682900)
1518 : (23094900, 3795400)
1519 : (22817900, 3595400)
1520 : (22813300, 3601700)
1521 : (22912700, 3620700)
1522 : (22814800, 3724300)
1523 : (23040300, 3529100)
1524 : (23083400, 3614600)
1525 : (22980200, 3690000)
1526 : (22979400, 3691200)
1527 : (23134900, 3649100)
1528 : (23097800, 3720500)
1529 : (22819100, 3555100)
1530 : (22997700, 3538300)
1531 : (22971100, 3579700)
1532 : (22848400, 3517300)
1533 : (22823500, 3549500)
1534 : (22823800, 3548800)
1535 : (22868700, 3620900)
1536 : (22931200, 3580500)
1537 : (22997900, 3581800)
1538 : (22982100, 3588500)
1539 : (23034800, 3522600)
1540 : (22977600, 3719700)
1541 : (22908300, 3756200)
1542 : (23085500, 3643100)
1543 : (22816100, 3743100)
1544 : (22966000, 3608600)
1545 : (22960900, 3605500)
1546 : (22849800, 3556100)
1547 : (22968100, 3665000)
1548 : (22914300, 3821600)
1549 : (22895400, 3806500)
1550 : (22909700, 3790000)
1551 : (23059800, 3725000)
1552 : (23131200, 3534500)
1553 : (22982100, 3558500)
1554 : (22847700, 3647700)
1555 : (22859800, 3667800)
1556 : (23060500, 3726900)
1557 : (23147700, 3571700)
1558 : (23162200, 3702200)
1559 : (22948400, 3820300)
1560 : (23159200, 3557900)
1561 : (23163000, 3552400)
1562 : (22835600, 3573600)
1563 : (22958500, 3539400)
1564 : (23145600, 3635100)
1565 : (22893300, 3743700)
1566 : (22895300, 3745000)
1567 : (23122100, 3610600)
1568 : (23143500, 3821800)
1569 : (23142800, 3822600)
1570 : (22896800, 3552700)
1571 : (22799500, 3579200)
1572 : (22824000, 3546700)
1573 : (22991600, 3702300)
1574 : (22977300, 3522900)
1575 : (22983400, 3600000)
1576 : (22789600, 3721900)
1577 : (22831100, 3818700)
1578 : (22879400, 3793700)
1579 : (22828800, 3637600)
1580 : (23131900, 3647000)
1581 : (23161600, 3664800)
1582 : (23135300, 3648500)
1583 : (22914600, 3598600)
1584 : (23164800, 3629500)
1585 : (22955900, 3549600)
1586 : (23165400, 3628800)

Setting node ID = 1 | X = 22782900 | Y = 3600400
Setting node ID = 2 | X = 22988400 | Y = 3530400
Setting node ID = 3 | X = 22913300 | Y = 3523600
Setting node ID = 4 | X = 22966400 | Y = 3545100
Setting node ID = 5 | X = 22952300 | Y = 3598300
Setting node ID = 6 | X = 22887100 | Y = 3604600
Setting node ID = 7 | X = 22877600 | Y = 3626800
Setting node ID = 8 | X = 22876200 | Y = 3569500
Setting node ID = 9 | X = 22830700 | Y = 3671000
Setting node ID = 10 | X = 22819600 | Y = 3718600
Setting node ID = 11 | X = 22828000 | Y = 3708200
Setting node ID = 12 | X = 23077600 | Y = 3609900
Setting node ID = 13 | X = 23082800 | Y = 3570600
Setting node ID = 14 | X = 23138600 | Y = 3572500
Setting node ID = 15 | X = 22986700 | Y = 3682000
Setting node ID = 16 | X = 22938700 | Y = 3687300
Setting node ID = 17 | X = 22990100 | Y = 3731100
Setting node ID = 18 | X = 22995000 | Y = 3735200
Setting node ID = 19 | X = 22991900 | Y = 3701500
Setting node ID = 20 | X = 23019000 | Y = 3651900
Setting node ID = 21 | X = 23036900 | Y = 3666500
Setting node ID = 22 | X = 22873800 | Y = 3770100
Setting node ID = 23 | X = 22883400 | Y = 3757700
Setting node ID = 24 | X = 22906300 | Y = 3730200
Setting node ID = 25 | X = 22924400 | Y = 3738500
Setting node ID = 26 | X = 22951500 | Y = 3774500
Setting node ID = 27 | X = 23106900 | Y = 3621900
Setting node ID = 28 | X = 23083100 | Y = 3651900
Setting node ID = 29 | X = 23066300 | Y = 3672900
Setting node ID = 30 | X = 23120000 | Y = 3637600
Setting node ID = 31 | X = 23050900 | Y = 3737600
Setting node ID = 32 | X = 23058600 | Y = 3728100
Setting node ID = 33 | X = 23071000 | Y = 3753000
Setting node ID = 34 | X = 23024500 | Y = 3724500
Setting node ID = 35 | X = 23015400 | Y = 3736200
Setting node ID = 36 | X = 22973000 | Y = 3790200
Setting node ID = 37 | X = 22968300 | Y = 3795400
Setting node ID = 38 | X = 23139900 | Y = 3818900
Setting node ID = 39 | X = 22802300 | Y = 3616300
Setting node ID = 40 | X = 22804100 | Y = 3612500
Setting node ID = 41 | X = 22872500 | Y = 3574200
Setting node ID = 42 | X = 22868200 | Y = 3570700
Setting node ID = 43 | X = 22845600 | Y = 3651600
Setting node ID = 44 | X = 22843800 | Y = 3654800
Setting node ID = 45 | X = 22848100 | Y = 3604400
Setting node ID = 46 | X = 22853300 | Y = 3607100
Setting node ID = 47 | X = 22961400 | Y = 3508900
Setting node ID = 48 | X = 22962300 | Y = 3507800
Setting node ID = 49 | X = 23076800 | Y = 3599300
Setting node ID = 50 | X = 23077300 | Y = 3598400
Setting node ID = 51 | X = 22820200 | Y = 3630600
Setting node ID = 52 | X = 22824400 | Y = 3634100
Setting node ID = 53 | X = 22759200 | Y = 3581400
Setting node ID = 54 | X = 22752700 | Y = 3576100
Setting node ID = 55 | X = 22925400 | Y = 3576400
Setting node ID = 56 | X = 22917900 | Y = 3570300
Setting node ID = 57 | X = 22871300 | Y = 3672800
Setting node ID = 58 | X = 22869100 | Y = 3670800
Setting node ID = 59 | X = 22868000 | Y = 3580000
Setting node ID = 60 | X = 22997400 | Y = 3576300
Setting node ID = 61 | X = 22994600 | Y = 3580000
Setting node ID = 62 | X = 23007300 | Y = 3564200
Setting node ID = 63 | X = 23002900 | Y = 3570000
Setting node ID = 64 | X = 23080200 | Y = 3525400
Setting node ID = 65 | X = 23074300 | Y = 3520900
Setting node ID = 66 | X = 23010100 | Y = 3645000
Setting node ID = 67 | X = 23006000 | Y = 3641400
Setting node ID = 68 | X = 22950000 | Y = 3636500
Setting node ID = 69 | X = 22943900 | Y = 3643600
Setting node ID = 70 | X = 22940200 | Y = 3727700
Setting node ID = 71 | X = 22948000 | Y = 3733800
Setting node ID = 72 | X = 22925100 | Y = 3715600
Setting node ID = 73 | X = 22931200 | Y = 3720800
Setting node ID = 74 | X = 22840100 | Y = 3794000
Setting node ID = 75 | X = 22830800 | Y = 3786600
Setting node ID = 76 | X = 23110500 | Y = 3617800
Setting node ID = 77 | X = 23114400 | Y = 3613200
Setting node ID = 78 | X = 23158600 | Y = 3706900
Setting node ID = 79 | X = 23153700 | Y = 3712300
Setting node ID = 80 | X = 23048300 | Y = 3695500
Setting node ID = 81 | X = 23044700 | Y = 3700400
Setting node ID = 82 | X = 23083100 | Y = 3818200
Setting node ID = 83 | X = 23086900 | Y = 3810900
Setting node ID = 84 | X = 22829700 | Y = 3580400
Setting node ID = 85 | X = 22824400 | Y = 3587700
Setting node ID = 86 | X = 23002300 | Y = 3541200
Setting node ID = 87 | X = 23013100 | Y = 3549600
Setting node ID = 88 | X = 22962200 | Y = 3541900
Setting node ID = 89 | X = 22894100 | Y = 3610200
Setting node ID = 90 | X = 22939000 | Y = 3589800
Setting node ID = 91 | X = 22927500 | Y = 3604600
Setting node ID = 92 | X = 22900600 | Y = 3644700
Setting node ID = 93 | X = 22905200 | Y = 3647800
Setting node ID = 94 | X = 22857400 | Y = 3691000
Setting node ID = 95 | X = 22846100 | Y = 3705300
Setting node ID = 96 | X = 23026500 | Y = 3576000
Setting node ID = 97 | X = 23022800 | Y = 3572900
Setting node ID = 98 | X = 23068200 | Y = 3551800
Setting node ID = 99 | X = 23062700 | Y = 3547300
Setting node ID = 100 | X = 23095400 | Y = 3575800
Setting node ID = 101 | X = 23099400 | Y = 3570400
Setting node ID = 102 | X = 23062400 | Y = 3597300
Setting node ID = 103 | X = 23064800 | Y = 3599700
Setting node ID = 104 | X = 23021700 | Y = 3686600
Setting node ID = 105 | X = 23022600 | Y = 3687300
Setting node ID = 106 | X = 22992600 | Y = 3674900
Setting node ID = 107 | X = 22990000 | Y = 3678200
Setting node ID = 108 | X = 22941900 | Y = 3751700
Setting node ID = 109 | X = 22950400 | Y = 3740700
Setting node ID = 110 | X = 22917300 | Y = 3747500
Setting node ID = 111 | X = 22912600 | Y = 3753100
Setting node ID = 112 | X = 23148200 | Y = 3631300
Setting node ID = 113 | X = 23138600 | Y = 3623400
Setting node ID = 114 | X = 23125500 | Y = 3672500
Setting node ID = 115 | X = 23130000 | Y = 3675600
Setting node ID = 116 | X = 23045200 | Y = 3744700
Setting node ID = 117 | X = 23041200 | Y = 3749700
Setting node ID = 118 | X = 23076300 | Y = 3746600
Setting node ID = 119 | X = 22820600 | Y = 3778700
Setting node ID = 120 | X = 22807400 | Y = 3569500
Setting node ID = 121 | X = 22854500 | Y = 3549800
Setting node ID = 122 | X = 22977200 | Y = 3554400
Setting node ID = 123 | X = 22901600 | Y = 3588400
Setting node ID = 124 | X = 22945000 | Y = 3592100
Setting node ID = 125 | X = 22901400 | Y = 3637400
Setting node ID = 126 | X = 22832100 | Y = 3624900
Setting node ID = 127 | X = 22881800 | Y = 3563000
Setting node ID = 128 | X = 22779700 | Y = 3744400
Setting node ID = 129 | X = 22808700 | Y = 3698400
Setting node ID = 130 | X = 22875900 | Y = 3729500
Setting node ID = 131 | X = 23058000 | Y = 3543400
Setting node ID = 132 | X = 23102600 | Y = 3566900
Setting node ID = 133 | X = 23114900 | Y = 3581500
Setting node ID = 134 | X = 23091300 | Y = 3620900
Setting node ID = 135 | X = 23014000 | Y = 3698000
Setting node ID = 136 | X = 23011300 | Y = 3701600
Setting node ID = 137 | X = 23016100 | Y = 3682300
Setting node ID = 138 | X = 22960700 | Y = 3708300
Setting node ID = 139 | X = 22958500 | Y = 3697300
Setting node ID = 140 | X = 22938100 | Y = 3650800
Setting node ID = 141 | X = 22899400 | Y = 3769000
Setting node ID = 142 | X = 22866800 | Y = 3818500
Setting node ID = 143 | X = 22879000 | Y = 3762700
Setting node ID = 144 | X = 22923700 | Y = 3772600
Setting node ID = 145 | X = 22974900 | Y = 3756600
Setting node ID = 146 | X = 22905200 | Y = 3762100
Setting node ID = 147 | X = 23150400 | Y = 3616700
Setting node ID = 148 | X = 23101500 | Y = 3683100
Setting node ID = 149 | X = 23106900 | Y = 3657700
Setting node ID = 150 | X = 23039500 | Y = 3706100
Setting node ID = 151 | X = 23063800 | Y = 3778300
Setting node ID = 152 | X = 23113600 | Y = 3727900
Setting node ID = 153 | X = 23133800 | Y = 3814400
Setting node ID = 154 | X = 23097400 | Y = 3790400
Setting node ID = 155 | X = 23125300 | Y = 3520600
Setting node ID = 156 | X = 23126000 | Y = 3562600
Setting node ID = 157 | X = 22881200 | Y = 3572100
Setting node ID = 158 | X = 22922800 | Y = 3511500
Setting node ID = 159 | X = 22927800 | Y = 3514300
Setting node ID = 160 | X = 23015900 | Y = 3649300
Setting node ID = 161 | X = 23013200 | Y = 3649800
Setting node ID = 162 | X = 23033300 | Y = 3631200
Setting node ID = 163 | X = 23034400 | Y = 3631600
Setting node ID = 164 | X = 22959400 | Y = 3743800
Setting node ID = 165 | X = 22961800 | Y = 3739700
Setting node ID = 166 | X = 22936100 | Y = 3724500
Setting node ID = 167 | X = 22939100 | Y = 3721400
Setting node ID = 168 | X = 22876100 | Y = 3766700
Setting node ID = 169 | X = 22876900 | Y = 3767500
Setting node ID = 170 | X = 23089000 | Y = 3644700
Setting node ID = 171 | X = 23092800 | Y = 3646800
Setting node ID = 172 | X = 23079500 | Y = 3742600
Setting node ID = 173 | X = 23078500 | Y = 3741700
Setting node ID = 174 | X = 23061100 | Y = 3685500
Setting node ID = 175 | X = 23058000 | Y = 3683000
Setting node ID = 176 | X = 22774800 | Y = 3740600
Setting node ID = 177 | X = 22767200 | Y = 3733800
Setting node ID = 178 | X = 22919300 | Y = 3516800
Setting node ID = 179 | X = 22840700 | Y = 3647900
Setting node ID = 180 | X = 22842300 | Y = 3611100
Setting node ID = 181 | X = 22989100 | Y = 3586700
Setting node ID = 182 | X = 22985600 | Y = 3591400
Setting node ID = 183 | X = 23033900 | Y = 3530700
Setting node ID = 184 | X = 23026800 | Y = 3540000
Setting node ID = 185 | X = 23051200 | Y = 3509300
Setting node ID = 186 | X = 23043500 | Y = 3519400
Setting node ID = 187 | X = 23133200 | Y = 3568400
Setting node ID = 188 | X = 22920200 | Y = 3674800
Setting node ID = 189 | X = 22914500 | Y = 3681400
Setting node ID = 190 | X = 22957000 | Y = 3741800
Setting node ID = 191 | X = 22870900 | Y = 3734300
Setting node ID = 192 | X = 22860800 | Y = 3748900
Setting node ID = 193 | X = 22864300 | Y = 3744000
Setting node ID = 194 | X = 23133300 | Y = 3590100
Setting node ID = 195 | X = 23140200 | Y = 3581100
Setting node ID = 196 | X = 23070200 | Y = 3668000
Setting node ID = 197 | X = 23074400 | Y = 3662800
Setting node ID = 198 | X = 23022700 | Y = 3727000
Setting node ID = 199 | X = 23108700 | Y = 3724500
Setting node ID = 200 | X = 23105300 | Y = 3721200
Setting node ID = 201 | X = 22891800 | Y = 3514900
Setting node ID = 202 | X = 22886300 | Y = 3509900
Setting node ID = 203 | X = 22802900 | Y = 3574600
Setting node ID = 204 | X = 22826400 | Y = 3544500
Setting node ID = 205 | X = 22830700 | Y = 3539100
Setting node ID = 206 | X = 22986500 | Y = 3561800
Setting node ID = 207 | X = 22997000 | Y = 3569700
Setting node ID = 208 | X = 22913500 | Y = 3532100
Setting node ID = 209 | X = 22942500 | Y = 3555700
Setting node ID = 210 | X = 22917600 | Y = 3616900
Setting node ID = 211 | X = 22913800 | Y = 3621500
Setting node ID = 212 | X = 22869400 | Y = 3620100
Setting node ID = 213 | X = 22873900 | Y = 3623600
Setting node ID = 214 | X = 22834300 | Y = 3720000
Setting node ID = 215 | X = 22830900 | Y = 3724800
Setting node ID = 216 | X = 22835900 | Y = 3698200
Setting node ID = 217 | X = 23020500 | Y = 3599700
Setting node ID = 218 | X = 23032400 | Y = 3608900
Setting node ID = 219 | X = 23067100 | Y = 3591500
Setting node ID = 220 | X = 23118000 | Y = 3577500
Setting node ID = 221 | X = 23086200 | Y = 3617000
Setting node ID = 222 | X = 22946200 | Y = 3677400
Setting node ID = 223 | X = 22953100 | Y = 3668200
Setting node ID = 224 | X = 23016800 | Y = 3694400
Setting node ID = 225 | X = 22954800 | Y = 3703300
Setting node ID = 226 | X = 22891700 | Y = 3778800
Setting node ID = 227 | X = 22889600 | Y = 3781200
Setting node ID = 228 | X = 22898000 | Y = 3740100
Setting node ID = 229 | X = 22894300 | Y = 3744300
Setting node ID = 230 | X = 23161800 | Y = 3638700
Setting node ID = 231 | X = 23159500 | Y = 3636700
Setting node ID = 232 | X = 23147800 | Y = 3652800
Setting node ID = 233 | X = 23150000 | Y = 3655000
Setting node ID = 234 | X = 23073300 | Y = 3737300
Setting node ID = 235 | X = 23036200 | Y = 3756300
Setting node ID = 236 | X = 23040800 | Y = 3760700
Setting node ID = 237 | X = 23135400 | Y = 3785900
Setting node ID = 238 | X = 23121300 | Y = 3804500
Setting node ID = 239 | X = 23135900 | Y = 3527700
Setting node ID = 240 | X = 23139800 | Y = 3523500
Setting node ID = 241 | X = 22860700 | Y = 3754900
Setting node ID = 242 | X = 22875000 | Y = 3765900
Setting node ID = 243 | X = 22808400 | Y = 3769000
Setting node ID = 244 | X = 22861600 | Y = 3525800
Setting node ID = 245 | X = 22795100 | Y = 3584900
Setting node ID = 246 | X = 22806900 | Y = 3654200
Setting node ID = 247 | X = 22969100 | Y = 3515200
Setting node ID = 248 | X = 22975100 | Y = 3583000
Setting node ID = 249 | X = 22900900 | Y = 3614900
Setting node ID = 250 | X = 22858700 | Y = 3633800
Setting node ID = 251 | X = 22891200 | Y = 3637400
Setting node ID = 252 | X = 22836700 | Y = 3618600
Setting node ID = 253 | X = 22852300 | Y = 3599300
Setting node ID = 254 | X = 23050700 | Y = 3537900
Setting node ID = 255 | X = 23043000 | Y = 3589000
Setting node ID = 256 | X = 23045800 | Y = 3640400
Setting node ID = 257 | X = 23110200 | Y = 3587400
Setting node ID = 258 | X = 22976000 | Y = 3603500
Setting node ID = 259 | X = 22988600 | Y = 3706100
Setting node ID = 260 | X = 22974300 | Y = 3687300
Setting node ID = 261 | X = 23031100 | Y = 3662400
Setting node ID = 262 | X = 22894700 | Y = 3775100
Setting node ID = 263 | X = 22911900 | Y = 3705100
Setting node ID = 264 | X = 22929800 | Y = 3765700
Setting node ID = 265 | X = 22931700 | Y = 3799600
Setting node ID = 266 | X = 22937800 | Y = 3792200
Setting node ID = 267 | X = 22903500 | Y = 3733800
Setting node ID = 268 | X = 23113600 | Y = 3663100
Setting node ID = 269 | X = 23136900 | Y = 3690600
Setting node ID = 270 | X = 23155400 | Y = 3659600
Setting node ID = 271 | X = 23056300 | Y = 3731100
Setting node ID = 272 | X = 23068500 | Y = 3713300
Setting node ID = 273 | X = 23030200 | Y = 3718100
Setting node ID = 274 | X = 23111400 | Y = 3763900
Setting node ID = 275 | X = 23019100 | Y = 3731300
Setting node ID = 276 | X = 23056100 | Y = 3787900
Setting node ID = 277 | X = 22983900 | Y = 3776800
Setting node ID = 278 | X = 23101900 | Y = 3780800
Setting node ID = 279 | X = 23153000 | Y = 3583200
Setting node ID = 280 | X = 22857900 | Y = 3592400
Setting node ID = 281 | X = 22853700 | Y = 3589000
Setting node ID = 282 | X = 22903200 | Y = 3612500
Setting node ID = 283 | X = 22904000 | Y = 3611900
Setting node ID = 284 | X = 23020100 | Y = 3647600
Setting node ID = 285 | X = 23043700 | Y = 3618100
Setting node ID = 286 | X = 23043200 | Y = 3617600
Setting node ID = 287 | X = 23104900 | Y = 3545100
Setting node ID = 288 | X = 23100800 | Y = 3549100
Setting node ID = 289 | X = 23109600 | Y = 3540300
Setting node ID = 290 | X = 22953900 | Y = 3703000
Setting node ID = 291 | X = 22878900 | Y = 3731800
Setting node ID = 292 | X = 23041700 | Y = 3703300
Setting node ID = 293 | X = 23038400 | Y = 3700500
Setting node ID = 294 | X = 22963100 | Y = 3801900
Setting node ID = 295 | X = 22962100 | Y = 3796700
Setting node ID = 296 | X = 23154800 | Y = 3704300
Setting node ID = 297 | X = 22888200 | Y = 3545900
Setting node ID = 298 | X = 22892600 | Y = 3549400
Setting node ID = 299 | X = 22901600 | Y = 3696400
Setting node ID = 300 | X = 22904000 | Y = 3693400
Setting node ID = 301 | X = 22807400 | Y = 3815100
Setting node ID = 302 | X = 22815300 | Y = 3805500
Setting node ID = 303 | X = 22940400 | Y = 3588000
Setting node ID = 304 | X = 22891300 | Y = 3688500
Setting node ID = 305 | X = 22884500 | Y = 3683300
Setting node ID = 306 | X = 22886800 | Y = 3556900
Setting node ID = 307 | X = 23019600 | Y = 3548300
Setting node ID = 308 | X = 23016200 | Y = 3552600
Setting node ID = 309 | X = 23112600 | Y = 3551500
Setting node ID = 310 | X = 23107600 | Y = 3547800
Setting node ID = 311 | X = 23120000 | Y = 3558000
Setting node ID = 312 | X = 23026900 | Y = 3659100
Setting node ID = 313 | X = 23022800 | Y = 3655200
Setting node ID = 314 | X = 22889900 | Y = 3710900
Setting node ID = 315 | X = 22899100 | Y = 3699600
Setting node ID = 316 | X = 22864000 | Y = 3815500
Setting node ID = 317 | X = 22858800 | Y = 3812100
Setting node ID = 318 | X = 23148900 | Y = 3580100
Setting node ID = 319 | X = 23098600 | Y = 3633100
Setting node ID = 320 | X = 23101500 | Y = 3629200
Setting node ID = 321 | X = 23005100 | Y = 3749400
Setting node ID = 322 | X = 22999900 | Y = 3756400
Setting node ID = 323 | X = 23079100 | Y = 3699900
Setting node ID = 324 | X = 23074000 | Y = 3695300
Setting node ID = 325 | X = 22846900 | Y = 3568500
Setting node ID = 326 | X = 22853500 | Y = 3574000
Setting node ID = 327 | X = 22982100 | Y = 3525800
Setting node ID = 328 | X = 22946800 | Y = 3529400
Setting node ID = 329 | X = 22856900 | Y = 3636000
Setting node ID = 330 | X = 22882400 | Y = 3630500
Setting node ID = 331 | X = 22886900 | Y = 3634100
Setting node ID = 332 | X = 22803000 | Y = 3705200
Setting node ID = 333 | X = 23038700 | Y = 3586000
Setting node ID = 334 | X = 23067500 | Y = 3580100
Setting node ID = 335 | X = 23071100 | Y = 3583100
Setting node ID = 336 | X = 23079500 | Y = 3595600
Setting node ID = 337 | X = 23039200 | Y = 3635300
Setting node ID = 338 | X = 23057600 | Y = 3601100
Setting node ID = 339 | X = 23061100 | Y = 3596800
Setting node ID = 340 | X = 23047800 | Y = 3612900
Setting node ID = 341 | X = 23053700 | Y = 3605500
Setting node ID = 342 | X = 22979900 | Y = 3651200
Setting node ID = 343 | X = 22984100 | Y = 3646100
Setting node ID = 344 | X = 23006700 | Y = 3675000
Setting node ID = 345 | X = 23010400 | Y = 3678000
Setting node ID = 346 | X = 23005100 | Y = 3742600
Setting node ID = 347 | X = 23003900 | Y = 3711300
Setting node ID = 348 | X = 23007400 | Y = 3714100
Setting node ID = 349 | X = 22864100 | Y = 3781500
Setting node ID = 350 | X = 23141000 | Y = 3609200
Setting node ID = 351 | X = 23134900 | Y = 3603900
Setting node ID = 352 | X = 23104600 | Y = 3685700
Setting node ID = 353 | X = 23059300 | Y = 3726400
Setting node ID = 354 | X = 23043400 | Y = 3804700
Setting node ID = 355 | X = 22979200 | Y = 3816100
Setting node ID = 356 | X = 22985600 | Y = 3821500
Setting node ID = 357 | X = 22915100 | Y = 3599000
Setting node ID = 358 | X = 22929600 | Y = 3582300
Setting node ID = 359 | X = 22873800 | Y = 3534700
Setting node ID = 360 | X = 22836900 | Y = 3560600
Setting node ID = 361 | X = 22812300 | Y = 3563200
Setting node ID = 362 | X = 22951700 | Y = 3563700
Setting node ID = 363 | X = 22935300 | Y = 3584200
Setting node ID = 364 | X = 22838600 | Y = 3646000
Setting node ID = 365 | X = 22909600 | Y = 3651300
Setting node ID = 366 | X = 22860700 | Y = 3589100
Setting node ID = 367 | X = 22865400 | Y = 3667900
Setting node ID = 368 | X = 22785400 | Y = 3679700
Setting node ID = 369 | X = 22848900 | Y = 3654700
Setting node ID = 370 | X = 23048500 | Y = 3593700
Setting node ID = 371 | X = 22965200 | Y = 3679100
Setting node ID = 372 | X = 22982000 | Y = 3693300
Setting node ID = 373 | X = 23047000 | Y = 3674500
Setting node ID = 374 | X = 22888400 | Y = 3752000
Setting node ID = 375 | X = 22885300 | Y = 3786700
Setting node ID = 376 | X = 23138800 | Y = 3652400
Setting node ID = 377 | X = 23031700 | Y = 3753200
Setting node ID = 378 | X = 22955600 | Y = 3811500
Setting node ID = 379 | X = 23009800 | Y = 3784500
Setting node ID = 380 | X = 23026400 | Y = 3797200
Setting node ID = 381 | X = 23099700 | Y = 3785600
Setting node ID = 382 | X = 23156100 | Y = 3585900
Setting node ID = 383 | X = 22961400 | Y = 3543000
Setting node ID = 384 | X = 23049100 | Y = 3613500
Setting node ID = 385 | X = 22988100 | Y = 3698300
Setting node ID = 386 | X = 22988900 | Y = 3697000
Setting node ID = 387 | X = 22805400 | Y = 3817400
Setting node ID = 388 | X = 22801000 | Y = 3814500
Setting node ID = 389 | X = 23144100 | Y = 3576200
Setting node ID = 390 | X = 22795700 | Y = 3757900
Setting node ID = 391 | X = 22791700 | Y = 3754700
Setting node ID = 392 | X = 22849300 | Y = 3515500
Setting node ID = 393 | X = 22843800 | Y = 3510900
Setting node ID = 394 | X = 22862000 | Y = 3665000
Setting node ID = 395 | X = 22864100 | Y = 3584700
Setting node ID = 396 | X = 23000100 | Y = 3573100
Setting node ID = 397 | X = 23090200 | Y = 3533200
Setting node ID = 398 | X = 23002200 | Y = 3637600
Setting node ID = 399 | X = 22995000 | Y = 3632500
Setting node ID = 400 | X = 22930700 | Y = 3660200
Setting node ID = 401 | X = 22846800 | Y = 3801600
Setting node ID = 402 | X = 23117900 | Y = 3608500
Setting node ID = 403 | X = 23123200 | Y = 3602000
Setting node ID = 404 | X = 23138400 | Y = 3730600
Setting node ID = 405 | X = 23129900 | Y = 3740300
Setting node ID = 406 | X = 23117000 | Y = 3756300
Setting node ID = 407 | X = 23113000 | Y = 3761500
Setting node ID = 408 | X = 23048100 | Y = 3814600
Setting node ID = 409 | X = 23042100 | Y = 3809800
Setting node ID = 410 | X = 22859200 | Y = 3543700
Setting node ID = 411 | X = 22867600 | Y = 3532700
Setting node ID = 412 | X = 22855400 | Y = 3560300
Setting node ID = 413 | X = 22970000 | Y = 3548100
Setting node ID = 414 | X = 22972100 | Y = 3550400
Setting node ID = 415 | X = 22923500 | Y = 3662300
Setting node ID = 416 | X = 22869200 | Y = 3675500
Setting node ID = 417 | X = 22806000 | Y = 3735000
Setting node ID = 418 | X = 22810700 | Y = 3729300
Setting node ID = 419 | X = 23030800 | Y = 3579400
Setting node ID = 420 | X = 23109900 | Y = 3557100
Setting node ID = 421 | X = 23092300 | Y = 3608500
Setting node ID = 422 | X = 23094700 | Y = 3606000
Setting node ID = 423 | X = 23071800 | Y = 3583800
Setting node ID = 424 | X = 23073600 | Y = 3581700
Setting node ID = 425 | X = 23070600 | Y = 3604300
Setting node ID = 426 | X = 22969300 | Y = 3682300
Setting node ID = 427 | X = 23026400 | Y = 3690900
Setting node ID = 428 | X = 22983100 | Y = 3686400
Setting node ID = 429 | X = 22979500 | Y = 3717200
Setting node ID = 430 | X = 22981300 | Y = 3715400
Setting node ID = 431 | X = 22965300 | Y = 3688500
Setting node ID = 432 | X = 22918300 | Y = 3715000
Setting node ID = 433 | X = 22910100 | Y = 3725500
Setting node ID = 434 | X = 23125500 | Y = 3681700
Setting node ID = 435 | X = 23129900 | Y = 3685100
Setting node ID = 436 | X = 23096800 | Y = 3697900
Setting node ID = 437 | X = 23105500 | Y = 3686400
Setting node ID = 438 | X = 23085800 | Y = 3734600
Setting node ID = 439 | X = 22820000 | Y = 3684800
Setting node ID = 440 | X = 23044000 | Y = 3561000
Setting node ID = 441 | X = 23053400 | Y = 3597800
Setting node ID = 442 | X = 23073800 | Y = 3556600
Setting node ID = 443 | X = 23055400 | Y = 3648100
Setting node ID = 444 | X = 23068900 | Y = 3516300
Setting node ID = 445 | X = 23002900 | Y = 3662700
Setting node ID = 446 | X = 22984000 | Y = 3695200
Setting node ID = 447 | X = 22925900 | Y = 3807000
Setting node ID = 448 | X = 22933100 | Y = 3762200
Setting node ID = 449 | X = 22964800 | Y = 3748400
Setting node ID = 450 | X = 22947700 | Y = 3778900
Setting node ID = 451 | X = 23092900 | Y = 3639500
Setting node ID = 452 | X = 23125900 | Y = 3642300
Setting node ID = 453 | X = 23088800 | Y = 3673600
Setting node ID = 454 | X = 23065100 | Y = 3731000
Setting node ID = 455 | X = 23017800 | Y = 3790500
Setting node ID = 456 | X = 23056400 | Y = 3821000
Setting node ID = 457 | X = 23038300 | Y = 3807000
Setting node ID = 458 | X = 23125800 | Y = 3808600
Setting node ID = 459 | X = 23119900 | Y = 3527200
Setting node ID = 460 | X = 22857100 | Y = 3521900
Setting node ID = 461 | X = 22859300 | Y = 3518400
Setting node ID = 462 | X = 22864800 | Y = 3661600
Setting node ID = 463 | X = 22909100 | Y = 3528900
Setting node ID = 464 | X = 22904900 | Y = 3525200
Setting node ID = 465 | X = 22890400 | Y = 3778100
Setting node ID = 466 | X = 23013400 | Y = 3738900
Setting node ID = 467 | X = 23017100 | Y = 3741000
Setting node ID = 468 | X = 22797700 | Y = 3666500
Setting node ID = 469 | X = 22803100 | Y = 3659900
Setting node ID = 470 | X = 22982500 | Y = 3594700
Setting node ID = 471 | X = 22980300 | Y = 3598000
Setting node ID = 472 | X = 23037500 | Y = 3526500
Setting node ID = 473 | X = 23054700 | Y = 3680400
Setting node ID = 474 | X = 22923500 | Y = 3669000
Setting node ID = 475 | X = 22969200 | Y = 3752000
Setting node ID = 476 | X = 22865700 | Y = 3741800
Setting node ID = 477 | X = 23130700 | Y = 3593000
Setting node ID = 478 | X = 23077900 | Y = 3658700
Setting node ID = 479 | X = 23100700 | Y = 3717200
Setting node ID = 480 | X = 23096000 | Y = 3713900
Setting node ID = 481 | X = 22990200 | Y = 3768200
Setting node ID = 482 | X = 22961000 | Y = 3571100
Setting node ID = 483 | X = 22910200 | Y = 3626400
Setting node ID = 484 | X = 22905900 | Y = 3631700
Setting node ID = 485 | X = 23039300 | Y = 3614200
Setting node ID = 486 | X = 23009500 | Y = 3591000
Setting node ID = 487 | X = 23038400 | Y = 3556400
Setting node ID = 488 | X = 23027200 | Y = 3638700
Setting node ID = 489 | X = 23030400 | Y = 3635100
Setting node ID = 490 | X = 23053400 | Y = 3617500
Setting node ID = 491 | X = 23058600 | Y = 3621400
Setting node ID = 492 | X = 23086200 | Y = 3616800
Setting node ID = 493 | X = 22961000 | Y = 3674400
Setting node ID = 494 | X = 22963300 | Y = 3671600
Setting node ID = 495 | X = 22995700 | Y = 3688600
Setting node ID = 496 | X = 22967400 | Y = 3713200
Setting node ID = 497 | X = 22976800 | Y = 3720700
Setting node ID = 498 | X = 22944400 | Y = 3783200
Setting node ID = 499 | X = 23162500 | Y = 3626400
Setting node ID = 500 | X = 23155900 | Y = 3620700
Setting node ID = 501 | X = 23108000 | Y = 3628000
Setting node ID = 502 | X = 23143800 | Y = 3656100
Setting node ID = 503 | X = 23063400 | Y = 3720300
Setting node ID = 504 | X = 23050100 | Y = 3767000
Setting node ID = 505 | X = 23055300 | Y = 3771500
Setting node ID = 506 | X = 23141900 | Y = 3520600
Setting node ID = 507 | X = 22869300 | Y = 3506100
Setting node ID = 508 | X = 22834900 | Y = 3534000
Setting node ID = 509 | X = 22990600 | Y = 3507700
Setting node ID = 510 | X = 22828800 | Y = 3628800
Setting node ID = 511 | X = 22811300 | Y = 3649700
Setting node ID = 512 | X = 23034900 | Y = 3582800
Setting node ID = 513 | X = 23084200 | Y = 3589900
Setting node ID = 514 | X = 22947000 | Y = 3711400
Setting node ID = 515 | X = 22921100 | Y = 3813600
Setting node ID = 516 | X = 22956200 | Y = 3768500
Setting node ID = 517 | X = 23107100 | Y = 3684700
Setting node ID = 518 | X = 23119800 | Y = 3667900
Setting node ID = 519 | X = 23064900 | Y = 3760000
Setting node ID = 520 | X = 23061800 | Y = 3764200
Setting node ID = 521 | X = 23030800 | Y = 3801100
Setting node ID = 522 | X = 23163200 | Y = 3802300
Setting node ID = 523 | X = 23132700 | Y = 3511100
Setting node ID = 524 | X = 23134000 | Y = 3531000
Setting node ID = 525 | X = 23147500 | Y = 3513800
Setting node ID = 526 | X = 22886200 | Y = 3634600
Setting node ID = 527 | X = 23087000 | Y = 3615800
Setting node ID = 528 | X = 23114900 | Y = 3553500
Setting node ID = 529 | X = 23120000 | Y = 3549100
Setting node ID = 530 | X = 23022300 | Y = 3544900
Setting node ID = 531 | X = 23026300 | Y = 3546500
Setting node ID = 532 | X = 22961400 | Y = 3676000
Setting node ID = 533 | X = 22933600 | Y = 3727300
Setting node ID = 534 | X = 23071300 | Y = 3660700
Setting node ID = 535 | X = 23055500 | Y = 3771800
Setting node ID = 536 | X = 23056400 | Y = 3770300
Setting node ID = 537 | X = 22993200 | Y = 3764300
Setting node ID = 538 | X = 22815100 | Y = 3773500
Setting node ID = 539 | X = 22868900 | Y = 3531600
Setting node ID = 540 | X = 22796200 | Y = 3611100
Setting node ID = 541 | X = 22788700 | Y = 3605300
Setting node ID = 542 | X = 22878900 | Y = 3566200
Setting node ID = 543 | X = 23012500 | Y = 3557300
Setting node ID = 544 | X = 23008900 | Y = 3562100
Setting node ID = 545 | X = 22960700 | Y = 3621900
Setting node ID = 546 | X = 22954700 | Y = 3630400
Setting node ID = 547 | X = 22978800 | Y = 3759100
Setting node ID = 548 | X = 22920600 | Y = 3711700
Setting node ID = 549 | X = 22996800 | Y = 3760300
Setting node ID = 550 | X = 23008700 | Y = 3744900
Setting node ID = 551 | X = 23052200 | Y = 3689800
Setting node ID = 552 | X = 23144000 | Y = 3788300
Setting node ID = 553 | X = 23139800 | Y = 3785300
Setting node ID = 554 | X = 22857400 | Y = 3547200
Setting node ID = 555 | X = 22867600 | Y = 3589100
Setting node ID = 556 | X = 22880000 | Y = 3598800
Setting node ID = 557 | X = 22897500 | Y = 3642400
Setting node ID = 558 | X = 23079800 | Y = 3561400
Setting node ID = 559 | X = 23058000 | Y = 3572800
Setting node ID = 560 | X = 23089400 | Y = 3583600
Setting node ID = 561 | X = 23086200 | Y = 3566400
Setting node ID = 562 | X = 23065800 | Y = 3590800
Setting node ID = 563 | X = 23055900 | Y = 3602800
Setting node ID = 564 | X = 22973500 | Y = 3658700
Setting node ID = 565 | X = 23019700 | Y = 3685000
Setting node ID = 566 | X = 23004300 | Y = 3678300
Setting node ID = 567 | X = 22996600 | Y = 3670100
Setting node ID = 568 | X = 22970700 | Y = 3728100
Setting node ID = 569 | X = 22952500 | Y = 3704500
Setting node ID = 570 | X = 22917700 | Y = 3780300
Setting node ID = 571 | X = 23091000 | Y = 3704800
Setting node ID = 572 | X = 23078100 | Y = 3665000
Setting node ID = 573 | X = 23059400 | Y = 3726400
Setting node ID = 574 | X = 23026300 | Y = 3748600
Setting node ID = 575 | X = 22965300 | Y = 3805600
Setting node ID = 576 | X = 23143900 | Y = 3518400
Setting node ID = 577 | X = 22837500 | Y = 3530400
Setting node ID = 578 | X = 22965800 | Y = 3512500
Setting node ID = 579 | X = 22875600 | Y = 3676300
Setting node ID = 580 | X = 22856400 | Y = 3660400
Setting node ID = 581 | X = 23070100 | Y = 3630800
Setting node ID = 582 | X = 22884200 | Y = 3718900
Setting node ID = 583 | X = 23157300 | Y = 3798800
Setting node ID = 584 | X = 23092700 | Y = 3800200
Setting node ID = 585 | X = 22784900 | Y = 3597300
Setting node ID = 586 | X = 22978700 | Y = 3522600
Setting node ID = 587 | X = 22979800 | Y = 3521700
Setting node ID = 588 | X = 23056900 | Y = 3600300
Setting node ID = 589 | X = 22952700 | Y = 3738200
Setting node ID = 590 | X = 22922500 | Y = 3708200
Setting node ID = 591 | X = 23022000 | Y = 3688100
Setting node ID = 592 | X = 23126400 | Y = 3598200
Setting node ID = 593 | X = 23130500 | Y = 3600300
Setting node ID = 594 | X = 22988300 | Y = 3770600
Setting node ID = 595 | X = 22786900 | Y = 3750300
Setting node ID = 596 | X = 22748000 | Y = 3571900
Setting node ID = 597 | X = 22907600 | Y = 3561500
Setting node ID = 598 | X = 22991300 | Y = 3584200
Setting node ID = 599 | X = 22846100 | Y = 3767100
Setting node ID = 600 | X = 22857600 | Y = 3752800
Setting node ID = 601 | X = 23036700 | Y = 3709500
Setting node ID = 602 | X = 23126600 | Y = 3737600
Setting node ID = 603 | X = 22822000 | Y = 3589900
Setting node ID = 604 | X = 22986500 | Y = 3513200
Setting node ID = 605 | X = 22922600 | Y = 3610400
Setting node ID = 606 | X = 22834400 | Y = 3719800
Setting node ID = 607 | X = 23011800 | Y = 3564100
Setting node ID = 608 | X = 23085600 | Y = 3606300
Setting node ID = 609 | X = 23080100 | Y = 3601800
Setting node ID = 610 | X = 23101800 | Y = 3597200
Setting node ID = 611 | X = 23087900 | Y = 3564300
Setting node ID = 612 | X = 23004700 | Y = 3710000
Setting node ID = 613 | X = 22983300 | Y = 3712300
Setting node ID = 614 | X = 22969900 | Y = 3683300
Setting node ID = 615 | X = 22967200 | Y = 3754200
Setting node ID = 616 | X = 22909300 | Y = 3756900
Setting node ID = 617 | X = 23036900 | Y = 3755000
Setting node ID = 618 | X = 22835500 | Y = 3720600
Setting node ID = 619 | X = 22861200 | Y = 3741400
Setting node ID = 620 | X = 22851900 | Y = 3553400
Setting node ID = 621 | X = 22775900 | Y = 3595800
Setting node ID = 622 | X = 23048700 | Y = 3564800
Setting node ID = 623 | X = 23062800 | Y = 3624700
Setting node ID = 624 | X = 22932400 | Y = 3695100
Setting node ID = 625 | X = 22985100 | Y = 3623800
Setting node ID = 626 | X = 22937500 | Y = 3756600
Setting node ID = 627 | X = 23145000 | Y = 3611900
Setting node ID = 628 | X = 23096300 | Y = 3679200
Setting node ID = 629 | X = 23140500 | Y = 3693900
Setting node ID = 630 | X = 23088900 | Y = 3707800
Setting node ID = 631 | X = 23150400 | Y = 3793600
Setting node ID = 632 | X = 23102600 | Y = 3516900
Setting node ID = 633 | X = 22879800 | Y = 3679800
Setting node ID = 634 | X = 22882700 | Y = 3676100
Setting node ID = 635 | X = 22898400 | Y = 3641100
Setting node ID = 636 | X = 23027200 | Y = 3638800
Setting node ID = 637 | X = 23026400 | Y = 3638000
Setting node ID = 638 | X = 23085500 | Y = 3565900
Setting node ID = 639 | X = 22975800 | Y = 3721500
Setting node ID = 640 | X = 23119100 | Y = 3669000
Setting node ID = 641 | X = 22801800 | Y = 3821700
Setting node ID = 642 | X = 23128800 | Y = 3564800
Setting node ID = 643 | X = 23162900 | Y = 3591400
Setting node ID = 644 | X = 23083000 | Y = 3703300
Setting node ID = 645 | X = 22978200 | Y = 3783800
Setting node ID = 646 | X = 23105700 | Y = 3773600
Setting node ID = 647 | X = 22847500 | Y = 3683500
Setting node ID = 648 | X = 23040200 | Y = 3622600
Setting node ID = 649 | X = 23124800 | Y = 3569300
Setting node ID = 650 | X = 23063800 | Y = 3593400
Setting node ID = 651 | X = 23098800 | Y = 3627200
Setting node ID = 652 | X = 22984600 | Y = 3726600
Setting node ID = 653 | X = 22999300 | Y = 3707500
Setting node ID = 654 | X = 23076400 | Y = 3703300
Setting node ID = 655 | X = 23126800 | Y = 3540000
Setting node ID = 656 | X = 22926500 | Y = 3507100
Setting node ID = 657 | X = 23093900 | Y = 3557300
Setting node ID = 658 | X = 23066900 | Y = 3515500
Setting node ID = 659 | X = 23150300 | Y = 3510300
Setting node ID = 660 | X = 22861100 | Y = 3579600
Setting node ID = 661 | X = 22904600 | Y = 3649100
Setting node ID = 662 | X = 22926900 | Y = 3665000
Setting node ID = 663 | X = 23093700 | Y = 3527800
Setting node ID = 664 | X = 23019600 | Y = 3723900
Setting node ID = 665 | X = 23042000 | Y = 3813900
Setting node ID = 666 | X = 22972500 | Y = 3613800
Setting node ID = 667 | X = 22969400 | Y = 3611300
Setting node ID = 668 | X = 22750500 | Y = 3720900
Setting node ID = 669 | X = 22765800 | Y = 3702900
Setting node ID = 670 | X = 22966200 | Y = 3608700
Setting node ID = 671 | X = 22801300 | Y = 3762900
Setting node ID = 672 | X = 22851700 | Y = 3806400
Setting node ID = 673 | X = 23103900 | Y = 3625800
Setting node ID = 674 | X = 23123200 | Y = 3748600
Setting node ID = 675 | X = 23137500 | Y = 3783200
Setting node ID = 676 | X = 23114900 | Y = 3766500
Setting node ID = 677 | X = 22994200 | Y = 3534800
Setting node ID = 678 | X = 22951600 | Y = 3533400
Setting node ID = 679 | X = 22796900 | Y = 3712700
Setting node ID = 680 | X = 23090600 | Y = 3610700
Setting node ID = 681 | X = 23077400 | Y = 3577000
Setting node ID = 682 | X = 22993600 | Y = 3634000
Setting node ID = 683 | X = 22973300 | Y = 3724500
Setting node ID = 684 | X = 22954100 | Y = 3702800
Setting node ID = 685 | X = 22945500 | Y = 3783700
Setting node ID = 686 | X = 22879200 | Y = 3538600
Setting node ID = 687 | X = 22766200 | Y = 3588100
Setting node ID = 688 | X = 22973900 | Y = 3519100
Setting node ID = 689 | X = 22792000 | Y = 3672400
Setting node ID = 690 | X = 23001000 | Y = 3682100
Setting node ID = 691 | X = 22920900 | Y = 3743100
Setting node ID = 692 | X = 23063400 | Y = 3677300
Setting node ID = 693 | X = 22963100 | Y = 3540500
Setting node ID = 694 | X = 23090300 | Y = 3610200
Setting node ID = 695 | X = 22902100 | Y = 3537300
Setting node ID = 696 | X = 23058100 | Y = 3682900
Setting node ID = 697 | X = 23094900 | Y = 3795400
Setting node ID = 698 | X = 22817900 | Y = 3595400
Setting node ID = 699 | X = 22813300 | Y = 3601700
Setting node ID = 700 | X = 22912700 | Y = 3620700
Setting node ID = 701 | X = 22814800 | Y = 3724300
Setting node ID = 702 | X = 23040300 | Y = 3529100
Setting node ID = 703 | X = 23083400 | Y = 3614600
Setting node ID = 704 | X = 22980200 | Y = 3690000
Setting node ID = 705 | X = 22979400 | Y = 3691200
Setting node ID = 706 | X = 23134900 | Y = 3649100
Setting node ID = 707 | X = 23097800 | Y = 3720500
Setting node ID = 708 | X = 22819100 | Y = 3555100
Setting node ID = 709 | X = 22997700 | Y = 3538300
Setting node ID = 710 | X = 22971100 | Y = 3579700
Setting node ID = 711 | X = 22848400 | Y = 3517300
Setting node ID = 712 | X = 22823500 | Y = 3549500
Setting node ID = 713 | X = 22823800 | Y = 3548800
Setting node ID = 714 | X = 22868700 | Y = 3620900
Setting node ID = 715 | X = 22931200 | Y = 3580500
Setting node ID = 716 | X = 22997900 | Y = 3581800
Setting node ID = 717 | X = 22982100 | Y = 3588500
Setting node ID = 718 | X = 23034800 | Y = 3522600
Setting node ID = 719 | X = 22977600 | Y = 3719700
Setting node ID = 720 | X = 22908300 | Y = 3756200
Setting node ID = 721 | X = 23085500 | Y = 3643100
Setting node ID = 722 | X = 22816100 | Y = 3743100
Setting node ID = 723 | X = 22966000 | Y = 3608600
Setting node ID = 724 | X = 22960900 | Y = 3605500
Setting node ID = 725 | X = 22849800 | Y = 3556100
Setting node ID = 726 | X = 22968100 | Y = 3665000
Setting node ID = 727 | X = 22914300 | Y = 3821600
Setting node ID = 728 | X = 22895400 | Y = 3806500
Setting node ID = 729 | X = 22909700 | Y = 3790000
Setting node ID = 730 | X = 23059800 | Y = 3725000
Setting node ID = 731 | X = 23131200 | Y = 3534500
Setting node ID = 732 | X = 22982100 | Y = 3558500
Setting node ID = 733 | X = 22847700 | Y = 3647700
Setting node ID = 734 | X = 22859800 | Y = 3667800
Setting node ID = 735 | X = 23060500 | Y = 3726900
Setting node ID = 736 | X = 23147700 | Y = 3571700
Setting node ID = 737 | X = 23162200 | Y = 3702200
Setting node ID = 738 | X = 22948400 | Y = 3820300
Setting node ID = 739 | X = 23159200 | Y = 3557900
Setting node ID = 740 | X = 23163000 | Y = 3552400
Setting node ID = 741 | X = 22835600 | Y = 3573600
Setting node ID = 742 | X = 22958500 | Y = 3539400
Setting node ID = 743 | X = 23145600 | Y = 3635100
Setting node ID = 744 | X = 22893300 | Y = 3743700
Setting node ID = 745 | X = 22895300 | Y = 3745000
Setting node ID = 746 | X = 23122100 | Y = 3610600
Setting node ID = 747 | X = 23143500 | Y = 3821800
Setting node ID = 748 | X = 23142800 | Y = 3822600
Setting node ID = 749 | X = 22896800 | Y = 3552700
Setting node ID = 750 | X = 22799500 | Y = 3579200
Setting node ID = 751 | X = 22824000 | Y = 3546700
Setting node ID = 752 | X = 22991600 | Y = 3702300
Setting node ID = 753 | X = 22977300 | Y = 3522900
Setting node ID = 754 | X = 22983400 | Y = 3600000
Setting node ID = 755 | X = 22789600 | Y = 3721900
Setting node ID = 756 | X = 22831100 | Y = 3818700
Setting node ID = 757 | X = 22879400 | Y = 3793700
Setting node ID = 758 | X = 22828800 | Y = 3637600
Setting node ID = 759 | X = 23131900 | Y = 3647000
Setting node ID = 760 | X = 23161600 | Y = 3664800
Setting node ID = 761 | X = 23135300 | Y = 3648500
Setting node ID = 762 | X = 22914600 | Y = 3598600
Setting node ID = 763 | X = 23164800 | Y = 3629500
Setting node ID = 764 | X = 22955900 | Y = 3549600
Setting node ID = 765 | X = 23165400 | Y = 3628800



This archive was generated by hypermail 2.1.4 : Sun 22 Sep 2002 - 18:52:58 GMT