Skip to content
Snippets Groups Projects
Commit b74b39ce authored by Pizon Antoine's avatar Pizon Antoine
Browse files

Changed save file format

parent 48105ae7
No related branches found
No related tags found
No related merge requests found
ai_vs_ai=1
ai_think_time=5000
ai_vs_ai_game_count=100
heuristic_ai_1=points
heuristic_ai_1=default
heuristic_ai_2=default
send_game_to_gui=1
......@@ -589,5 +589,7 @@ namespace game
result = PENGUIN_POS(*peng) << 16;
play(m);
result |= PENGUIN_POS(*peng);
return result;
}
}
#ifndef __PENGUIN_HPP__
#define __PENGUIN_HPP__
#include "game.hpp"
#include "json.hpp"
using json = nlohmann::json;
#include <random>
#include <array>
#include <iostream>
#include <memory>
namespace game
{
struct penguin_state
{
uint64_t one_fish = 1152921504606846975; //Position of one-fish tiles (bitboard)
uint64_t two_fish = 0; //Position of two-fish tiles (bitboard)
uint64_t three_fish = 0; //Position of three-fish tiles (bitboard)
//Penguins
uint32_t peng_red[4] = {0, 1, 6, 7};
uint32_t peng_blue[4] = {59, 58, 53, 54};
int score_red = 0;
int score_blue = 0;
bool current_player_red = true; //True if red must play now. Red always starts
int nb_moves_red = 0; //Number of moves the red player can play
int nb_moves_blue = 0;
bool canPlay_red = true;
bool canPlay_blue = true;
};
//Describes the possible content of a peguin game tile
enum tile_content {RED_PENGUIN,BLUE_PENGUIN,ONE_FISH,TWO_FISH,THREE_FISH,OBSTACLE};
// Useful macros to get values out of penguins
#define PENGUIN_POS(penguin) ((penguin) & 63)
#define PENGUIN_TOT_MOVES(penguin) (((penguin) >> 6) & 63)
#define PENGUIN_MOVES_A(penguin) (((penguin) >> 12) & 7)
#define PENGUIN_MOVES_B(penguin) (((penguin) >> 15) & 7)
#define PENGUIN_MOVES_C(penguin) (((penguin) >> 18) & 7)
#define PENGUIN_MOVES_D(penguin) (((penguin) >> 21) & 7)
#define PENGUIN_MOVES_E(penguin) (((penguin) >> 24) & 7)
#define PENGUIN_MOVES_F(penguin) (((penguin) >> 27) & 7)
class penguin : public game<penguin_state>
{
public:
penguin();
penguin(bool);
penguin(const penguin& pen) = default;
penguin& operator=(const penguin& pen) = default;
bool end_of_game() const; //Is the game ended? (draw or won)
int value(std::uint8_t player) const; //Returns if the player win, loose or nothing
bool won(std::uint8_t player) const;
bool lost(std::uint8_t player) const;
bool draw(std::uint8_t player) const;
uint8_t current_player() const; //The player that has to play next (at the beginning, the first player)
std::uint16_t number_of_moves() const; //Number of moves that you can play
void play(std::uint16_t m); //Play the move m (updates the state).
void undo(std::uint16_t m) {}
std::string player_to_string(std::uint8_t player) const; //String representation of a player
std::string move_to_string(std::uint16_t m) const; //String representation of a move (for example, A1)
json to_JSON() const;
std::string to_string() const; //String representatcion of the entire game
std::set<int> to_input_vector() const;
void from_input_vector(const std::set<int>& input);
penguin_state get_state(); //Return the state
void set_state(const penguin_state& state); //Replace the current state with the one passed as a parameter
std::shared_ptr<game<penguin_state>> do_copy() const;
std::uint64_t hash(std::uint16_t m) const;
std::uint64_t hash() const;
/**
Returns the content of a tile
i : the line, between 0 and 7
j : the column, between 0 and 7 if i is pair else between 0 and 8
*/
const tile_content get_tile(std::uint8_t tile_index) const;
static penguin_state random_start_state();
std::uint64_t penguin_board(bool) const; // true for position of blue penguin, else false
uint64_t penguin_move_board(const uint32_t& pen) const; //Bitboard of possible move of the penguin
uint8_t turns_played() const;
<<<<<<< HEAD
uint32_t move_to_pos(uint16_t m);
=======
int update_penguin_moves(uint32_t* p, uint64_t obstacles);
uint64_t create_obstacles_bitboard();
>>>>>>> 69f5ff4c7fc9c9d3c9462ca67c9aafec855c9565
private:
penguin_state state;
void move_penguin(uint32_t* p, uint16_t rel_move);
const uint8_t RED = 0;
const uint8_t BLUE = 1;
};
std::ostream& operator<<(std::ostream& os, const penguin& pen);
}
#endif
......@@ -89,7 +89,7 @@ void test_mcts_two_players<Game>::save_board(const Game& game, int move){
game::penguin_state state = g->get_state();
uint32_t pos = g->move_to_pos(move);
uint16_t peng_pos = (uint16_t)(pos >> 16);
uint16_t peng_pos = (uint16_t)pos;
uint16_t dest = (uint16_t)pos;
savefile << state.one_fish << ";" << state.two_fish << ";" << state.three_fish << ";" << g->penguin_board(false) << ";" << g->penguin_board(true) << ";" << peng_pos << ";" << dest << std::endl;
}
......
......@@ -12,19 +12,19 @@ numpy.random.seed(seed)
dataset = numpy.loadtxt("save.csv", delimiter=";")
# Split into input (X) and output (Y) variables
X = dataset[:,0:5]
Y = dataset[:,5]
Y = dataset[:,5:]
# Creating the model
model = Sequential()
model.add(Dense(12, input_dim=5, init='uniform', activation='relu'))
model.add(Dense(8, init='uniform', activation='relu'))
model.add(Dense(1, init='uniform', activation='softmax'))
model.add(Dense(2, init='uniform', activation='softmax'))
# Compiling the model
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
# Training the model
model.fit(X, Y, nb_epoch=5, batch_size=10)
model.fit(X, Y, nb_epoch=150, batch_size=10)
# Evaluating the model
scores = model.evaluate(X, Y)
......
854941286571347250;288406478165996045;9571540846248128;4395631616;36037595259731968;38
854941286571085106;288406478165996045;9571540846248128;4395631616;36037595260518400;37
854941286571084082;288406478165996045;9571540846248128;4395638784;36037595260518400;33
854941286571084082;288406478165996045;9571540845199552;4395638784;36037612439339008;2
854941286571084082;288406473871028749;9571540845199552;9007199355412480;36037612439339008;5
854932490478061874;288406473871028749;9571540845199552;9007199355412480;36028816346841088;9
854932490478061874;288406473871028749;9571540778090688;9007199556739072;36028816346841088;25
854932490478061874;288406473871028749;9571523598221504;9007199556739072;36028833526710272;0
854932490478061874;288406473871028749;564324343480512;35184674086912;36028833526710272;6
818903693459097906;288406473871028749;564324343480512;35184674086912;140773996101632;0
818903693459097906;288371289498939917;564324343480512;275179905024;140773996101632;19
818903693459097906;288371287351456269;564324343480512;275179905024;140771848749056;21
818903693459097906;288371287317901837;564324343480512;275163127808;140771848749056;15
818903693458966834;288371287317901837;564324343480512;275163127808;140771848683520;2
818903693458966834;288371287317901837;564049465573568;1099796848640;140771848683520;8
818903693458966834;288230549829546509;564049465573568;1099796848640;281509337038848;7
818903693458966834;288230549561111053;564049465573568;1168247889920;281509337038848;3
818903693458966834;288230549561111053;564049465049280;1168247889920;281509336514592;4
818903624739490098;288230549561111053;564049465049280;1236967366656;281509336514592;10
818622149762779442;288230549561111053;564049465049280;1236967366656;2251834173489184;11
818622149746002226;288230549561111053;564049465049280;1236958978048;2251834173489184;7
818622149746002194;288230549561111053;564049465049280;1236958978048;2251834173489280;12
818622149737613586;288230549561111053;564049465049280;1236950622208;2251834173489280;6
816370349923928338;288230549561111053;564049465049280;1236950622208;17626545848448;11
816370349923895570;288230549561111053;564049465049280;1236950589442;17626545848448;7
816370349923895570;288230549561045517;564049465049280;1236950589442;17626545782916;7
816370349923895570;288230549561037325;564049465049280;1236950597634;17626545782916;0
816370349923895570;288230549561037325;564049465049152;1236950597634;17626545782852;0
816370349923895570;288230549561037325;562949953421376;687194783746;17626545782852;2
816370349923895570;288230549561037321;562949953421376;687194783746;17626545782856;0
816369800168081682;288230549561037321;562949953421376;70506183147522;17626545782856;6
816369800168081682;288230515201298953;562949953421376;70506183147522;17592320262216;4
816369800168081682;288230515201282569;562949953421376;70506187325442;17592320262216;0
816352207982037266;288230515201282569;562949953421376;70506187325442;4503599761588296;0
816281839237859602;288230515201282569;562949953421376;18014535952629762;4503599761588296;0
811778239610489106;288230515201282569;562949953421376;18014535952629762;576460752437641288;4
811778239610489104;288230515201282569;562949953421376;18014535952630016;576460752437641288;0
235317487307065616;288230515201282569;562949953421376;18014535952630016;288230376285929544;5
235317487307065360;288230515201282569;562949953421376;18014535952630272;288230376285929544;2
235317487307065360;139049570825;562949953421376;18014535952630272;1125900041060424;0
235317487307065360;1610617353;562949953421376;18014399050547712;1125900041060424;1
234191587400222736;1610617353;562949953421376;18014399050547712;562950087639112;0
234191587400222736;1073746441;562949953421376;18014398515773952;562950087639112;1
234191587400222736;1073746441;64;18014398515773952;4398180728904;0
234191587400222736;1073746441;64;18014398515773952;4398180728904;0
234191587400222736;1073746433;64;18014398515773952;4398180728912;0
234191587400222736;1073746433;64;18014398515773952;4398180728912;1
234191587400222720;1073746433;64;18014398515773952;4398180732992;0
234191587400222720;1073746433;64;18014398515773952;4398180732992;0
234191587400222720;1073742337;64;18014398515773952;4398180730944;0
931934812694784276;148629991502927529;72339108223090754;2203452440592;576601558511257600;38
931794075206428948;148629991502927529;72339108223090754;2203452440592;576460821022935040;35
931794075206428948;148629991502927529;72339103928123458;2199157538832;576460821022935040;6
931794075206428948;148629922783450793;72339103928123458;2199157538832;576460752571893760;27
931794075206428948;148629922783450793;72339103928057922;2199165861904;576460752571893760;31
931794075206428948;148629922783450793;72339103928025154;2199165861904;576460752571860994;0
931794075206428948;148627723760195241;72339103928025154;281475119317008;576460752571860994;22
355333322903005460;148627723760195241;72339103928025154;281475119317008;72057594306365442;26
355333322903005444;148627723760195241;72339103928025154;281475119317056;72057594306365442;24
355333322903005444;148627723760195241;281509890097218;281475119317056;34628175874;14
355333322903005444;148627723751806633;281509890097218;281475127705664;34628175874;3
355333322903005444;148627723483371177;281509890097218;281475127705664;34359756802;22
355333322903005444;148627723483371177;281509890097154;281475127705632;34359756802;2
355333322903005444;148627723483354793;281509890097154;281475127705632;34359744514;23
355333322903005444;148627723483354761;281509890097154;281612566659072;34359744514;1
355333322903005444;148627723483350665;281509890097154;281612566659072;34426849282;14
355333322903005444;148627723483350665;281509873319938;281612549882880;34426849282;1
355333322903005444;148627723416241801;281509873319938;281612549882880;1133871368194;10
355333322903005444;148627723416240777;281509873319938;281612549882368;1133871368194;11
355333322903005444;148627723416240777;281475513581570;281612549882368;9895604652034;2
355333322903005444;148627723416240777;536870914;1126037480014336;9895604652034;6
355333322903003396;148627723416240777;536870914;1126037480014336;9895605174274;7
355333322768785668;148627723416240777;536870914;1126054525665792;9895605174274;6
355333322768261380;148627723416240777;536870914;1126054525665792;9895606747138;13
355333322768261380;148627585977287305;536870914;1125917623583232;9895606747138;5
355333322766164228;148627585977287305;536870914;1125917623583232;9895608844290;6
355333305586295044;148627585977287305;536870914;1125909033648640;9895608844290;1
355332206074667268;148627585977287305;536870914;1125909033648640;9070975123458;6
355332197484732676;148627585977287305;536870914;1125900477268480;9070975123458;1
355331922606825732;148627585977287305;536870914;1125900477268480;8797170958338;0
354206022699983108;148627585977287305;536870914;144115188646281728;8797170958338;2
354206022699983108;148618789884265097;536870914;144115188646281728;2251800891621378;2
354206022699983108;148618789850710665;536870914;144115188612858368;2251800891621378;0
1087952262335610071;37928917878899488;27040324392337416;34496061440;9020668272181248;37;13
1087952262335610071;37928780439946016;27040324392337416;34496061440;9016270225932288;42;18
1087947864289098967;37928780439946016;27040324392337416;8726257664;9016270225932288;35;33
1087947864289098967;37928780439946016;27040290032599048;8726257664;18023469480673280;53;54
1087947864289098967;37928780439946016;18033090777858056;1099647950848;18023469480673280;33;40
1087947864289098967;37928771850011424;18033090777858056;1099647950848;18023469513965568;18;25
1087947864289098967;37928771850011424;18033090777595912;1099647943168;18023469513965568;13;9
1087947864289090775;37928771850011424;18033090777595912;1099647943168;18023194636058632;38;3
1087947589411183831;37928771850011424;18033090777595912;1100182716928;18023194636058632;21;29
1087947589411183831;37928771847914272;18033090777595912;1100182716928;149533614931976;54;47
1087947589411183831;37928771847914272;18692268113928;671154688;149533614931976;40;16
1087947589411183831;37928771847914272;17592756486152;671154688;158329707954184;43;44
1087938793318161623;37928771847914272;17592756486152;281475513647616;158329707954184;27;48
1087938793318161623;37928771713696544;17592756486152;281475513647616;158329707954240;3;6
1087938793318161623;37928771713696544;17592756486144;281475513713152;158329707954240;16;17
1087938793318161623;37928771713631008;17592756486144;281475513713152;158329691177024;25;24
1087938793318161623;37928771713631008;17592722931712;281475513583104;158329691177024;17;10
1087938793318161623;37928771713499936;17592722931712;281475513583104;140737505136704;44;12
1087938793318161623;37928771713499936;536887296;36028797555836416;140737505136704;48;55
1087657318341450967;37928771713499936;536887296;36028797555836416;140737509330944;6;22
1087657318341450903;37928771713499936;536887296;36028797555836160;140737509330944;9;8
1087657318341450903;37928771713499424;536887296;36028797555836160;140737510375424;12;20
1087657318341446807;37928771713499424;536887296;72057594574800128;140737510375424;55;56
1087657318341446807;1899974694535456;536887296;72057594574800128;140737506197504;22;14
1087657318341446807;1899974690341152;536887296;144115188612728064;140737506197504;56;57
1015599724303518871;1899974690341152;536887296;144115188612728064;140741784387584;24;32
1015599724286741655;1899974690341152;536887296;2199560127744;140741784387584;57;41
871484536210885783;1899974690341152;536887296;2199560127744;140741783863296;20;19
871484536209837207;1899974690341152;536887296;2199560160256;140741783863296;8;15
871484536209837207;1899974690340896;536887296;2199560160256;4303896576;47;23
871484536209837207;1759237201985568;536887296;562950490326016;4303896576;41;49
871482337186581655;1759237201985568;536887296;562950490326016;4370481152;19;26
871482337186057367;1759237201985568;536887296;1125900443747328;4370481152;49;50
871482337186057367;1196287248564256;536887296;1125900443747328;70368819691520;32;46
871482332891090071;1196287248564256;536887296;288230376688616448;70368819691520;50;58
871482332891090071;70387341721632;536887296;288230376688616448;70918567116800;23;39
871482332891090071;70387333333024;536887296;288230444871222272;70918567116800;29;36
871482332891090071;70387333333024;16384;288230444871222272;70370958786560;39;31
871481783135276183;70387333333024;16384;288230376420180992;70370958786560;36;28
871481714415799447;70387333333024;16384;288230376420180992;70370958770304;14;7
871481714415799447;70387333333024;0;288230376420179972;70370958770304;10;2
871481714415798423;70387333333024;0;288230376420179972;70369885028480;31;30
871481712268314775;70387333333024;0;2251800082153476;70369885028480;58;51
583251336116603031;70387333333024;0;2251800082153476;35185512939648;46;45
583251336116603031;18589155360;0;2251800082153473;35185512939648;2;0
583251336116603027;18589155360;0;2251800082153473;35202625699968;26;34
583251336116603027;18522046496;0;2251800082153474;35202625699968;0;1
583251336116603026;18522046496;0;2251800082153474;35202625699968;30;30
583251336116603026;18522046496;0;4503599895838722;35202625699968;51;52
580999536302917778;18522046496;0;4503599895838722;35202625699968;30;30
580999536302917778;18522046496;0;576460752571891714;35202625699968;52;59
576495936675547282;18522046496;0;576460752571891714;35202625699968;30;30
1087952262335610071;37928917878899488;27040324392337416;34496061440;9020668272181248;37;13
1087952262335610071;37928780439946016;27040324392337416;34496061440;13469017702400;53;18
1087952262335610071;37928780439946016;18033125137596424;34395398144;13469017702400;27;25
1087952262335610071;37928780305728288;18033125137596424;34395398144;4673461551104;43;29
1087943466242587863;37928780305728288;18033125137596424;70403106021376;4673461551104;25;46
1087943466242587863;37928780305728288;18033125104041992;70403106021376;1374926667776;42;40
1087939068196076759;37928780305728288;18033125104041992;18014432871325696;1374926667776;46;54
1087939068196076759;37858411561550624;18033125104041992;18014432871325696;141012903395328;40;47
1087939068196076759;37858411561550624;18032025592414216;36028831380807680;141012903395328;54;55
1087939068196076759;37858411561550624;17627082932232;36028831380807680;140738025488392;38;3
1087938793318169815;37858411561550624;17627082932232;36028831380800000;140738025488392;13;9
1087938793318161623;37858411561550624;17627082932232;36028831380800000;281475513843720;47;48
1087938793318161623;37717674073195296;17627082932232;288230410513547776;281475513843720;55;58
1087938793318161623;1688877054231328;17627082932232;288230410513547776;281475513647112;18;16
1087938793318161623;1688877054231328;17627082670088;288230393333678592;281475513647112;35;34
1087938793318161623;1688877054231328;17592722931720;288230393333678592;281475245211656;29;28
1087938793318161623;1688877054231328;17592186060808;17609368011264;281475245211656;58;44
799708417166449879;1688877054231328;17592186060808;17609368011264;281474976776216;28;4
799708417166449879;1688876785795872;17592186060808;17600778076672;281474976776216;34;33
799708417166449879;1688859605926688;17592186060808;17600778076672;2251799813750808;48;51
799426942189739223;1688859605926688;17592186060808;17600778207232;2251799813750808;9;17
799426942189739223;1688859605926176;17592186060808;17600778207232;1125899906908184;51;50
797175142376053975;1688859605926176;17592186060808;17600776110208;1125899906908184;21;7
797175142376053975;1688859603829024;17592186060808;17600776110208;1125899906908232;4;6
797175142376053959;1688859603829024;17592186060808;17600776126464;1125899906908232;7;14
797175142376053831;1688859603829024;17592186060808;17600776126464;1125899906909248;3;10
797175142376053831;1688859603829024;17592186060800;17602923479040;1125899906909248;17;31
797175142376053831;1688859603697952;17592186060800;17602923479040;1125899915232320;16;23
797175142376053831;1688859603632416;17592186060800;17594400653312;1125899915232320;33;26
797175142376053831;1688851013697824;17592186060800;17594400653312;1125899915233344;10;11
797175142376052807;1688851013697824;17592186060800;17594333548544;1125899915233344;26;12
797175142376052807;1688850946588960;17592186060800;17594333548544;1125899915755584;11;19
797175142376050759;1688850946588960;17592186060800;17592202842112;1125899915755584;31;24
797175140228567111;1688850946588960;17592186060800;17592202842112;1125899907399744;23;15
797175140228567111;1688850938200352;17592186060800;4503599644168192;1125899907399744;44;52
797175140228567111;1688850938200352;16384;4503599644168192;1125899907924032;19;20
797175140228042823;1688850938200352;16384;4503599644164128;1125899907924032;12;5
797175140228038727;1688850938200352;16384;4503599644164128;1125899907891520;15;8
797175140228005959;1688850938200352;16384;4503603922354208;1125899907891520;24;32
797175140211228743;1688850938200352;16384;4503603922354208;144115188076904768;50;57
797175140211228743;562951031357728;16384;4503603926532128;144115188076904768;14;22
797175140211228743;562951031357728;0;4503603926532128;72057594038976832;57;56
653059952135372871;562951031357728;0;576460756602585120;72057594038976832;52;59
648556352508002375;562951031357728;0;576460756602585120;72057594038976577;8;0
648556352508002375;562951031357472;0;576461302063431712;72057594038976577;32;39
648556348213035079;562951031357472;0;576461302063431712;72057594038976580;0;2
648556348213035078;562951031357472;0;576461302063431712;72057594038976580;39;39
648556348213035078;562951031357472;0;576461302063431712;72057594038976578;2;1
648556348213035074;562951031357472;0;576461302063431712;72057594038976578;39;39
648556348213035074;562951031357472;0;576461302063431712;562949954469954;56;49
576498754175107138;562951031357472;0;576461302063431712;562949954469954;39;39
576498754175107138;562951031357472;0;576461302063431712;2199024304194;49;41
576498754175107138;1077936160;0;576461302063431712;2199024304194;39;39
760344128994979089;288396449854608042;104180925757259844;4611826764505677832;1107296576;14;62
760344128994979089;288396449854591658;104180925757259844;4611826764505677832;2200130552064;6;41
760344128994979089;288396449854591658;104180925757259780;18155144587771912;2200130552064;62;54
760344128994979089;288396449854591658;104180925757259780;18155144587771912;562951060717824;41;49
760344128994979089;288394250831336106;104180925757259780;288371122230001672;562951060717824;54;58
760344128994979089;288394250831336106;86166527247777796;288371122230001672;562951027294464;25;17
760344128961424657;288394250831336106;86166527247777796;288371122230001668;562951027294464;3;2
760344128961424657;288394250831336098;86166527247777796;288371122230001668;562951029260544;17;21
854941286571347250;288406478165996045;9571540846248128;4362077186;36037595259731968;39
854941286571085106;288406478165996045;9571540846248128;4362077186;36037595260518400;13
854941286571085106;288406473871028749;9571540846248128;1099578737666;36037595260518400;5
854932490478062898;288406473871028749;9571540846248128;1099578737666;36028799168020480;36
854932490478062896;288406473871028749;9571540846248128;1099578737792;36028799168020480;25
854932490478062896;288406473871028749;9571540845199552;1099578737792;36028816346841088;3
854932490478062896;288406473871028749;9570441333571776;274945016960;36028816346841088;24
854932490478062896;288406473871028749;9570424153702592;274945016960;36028833526710272;25
854932490478062896;288406473871028749;9570424153702464;274945016896;36028833526710272;7
818903693459098928;288406473871028749;9570424153702464;274945016896;140773996101632;22
818903693459098928;288406473871028749;9570424153702400;274945025024;140773996101632;28
818903693459098928;288406439511290381;9570424153702400;274945025024;140877075316736;10
818903693459098928;288406439511290381;9570424086593536;275146351616;140877075316736;14
818903693459098928;288406437363806733;9570424086593536;275146351616;140876001574912;13
818903693459097904;288406437363806733;9570424086593536;275146351104;140876001574912;15
818903693459097904;288406436290064909;9570424086593536;275146351104;140874927898624;17
818903693459097904;288406436290056717;9570424086593536;275146344960;140874927898624;0
818903693459097904;288406436290056717;9570424086069248;275146344960;140874927378432;8
818903693459097904;288406436021621261;9570424086069248;343597386240;140874927378432;18
818903693459097904;288406298582667789;9570424086069248;343597386240;2392537302110208;2
818903693459097904;288406298582667789;9570149208162304;70437463656960;2392537302110208;11
818903693459097904;288406298582602253;9570149208162304;70437463656960;2392537302175744;11
818903693459095856;288406298582602253;9570149208162304;70437463654928;2392537302175744;1
818903693459095856;288265561094246925;9570149208162304;70437463654928;20266198323302400;0
818833324714918192;288265561094246925;9570149208162304;9007267974218256;20266198323302400;8
816581524901232944;288265561094246925;9570149208162304;9007267974218256;18031990695661568;3
816581524901232944;288265561094246413;9570149208162304;9007267974218000;18031990695661568;2
816581524901101872;288265561094246413;9570149208162304;9007267974218000;18031990729084928;4
816581524901101616;288265561094246413;9570149208162304;9007267974217745;18031990729084928;1
816581524901101616;288265561060691981;9570149208162304;9007267974217745;18031990712307712;2
816581456181624880;288265561060691981;9570149208162304;9007199258935313;18031990712307712;2
816563863995580464;288265561060691981;9570149208162304;9007199258935313;22517998153633792;0
816563863995580464;288265561060691981;562949953421312;35184376283153;22517998153633792;2
812060264368209968;288265561060691981;562949953421312;35184376283153;594475150829686784;3
812060264368209952;288265561060691981;562949953421312;35184376283145;594475150829686784;2
235599512064786464;288265561060691981;562949953421312;35184376283145;306244774677975040;3
235599512064786464;288265561060691973;562949953421312;35184376283141;306244774677975040;2
235599512064786464;35184908980229;562949953421312;35184376283141;162129586602119168;1
235599512060592160;35184908980229;562949953421312;35184374185989;162129586602119168;3
91484323984736288;35184908980229;562949953421312;35184374185989;18577348479684608;1
91484323982639136;35184908980229;562949953421312;35184908959749;18577348479684608;5
91484323982639136;35184908980229;0;35184908959749;19140298433105920;0
91484323982639136;35184908980229;0;35184908959749;19140298433105920;0
91484323982639136;35184908976133;0;35184908959749;19140298433101856;0
91484323982639136;35184908976133;0;35184908959749;19140298433101856;1
90358424075796512;35184908976133;0;35184908959749;18018796572770336;0
90358424075796512;35184908976133;0;35184908959749;18018796572770336;0
90358424059019296;35184908976133;0;35184908959749;18018796564381728;0
90358424059019296;35184908976133;0;35184908959749;18018796564381728;0
90358424050630688;35184908976133;0;35184908959749;18018796556025888;0
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment