From 6e67c4edbfba6b2d1165ea7e8515fd6e71b2cec2 Mon Sep 17 00:00:00 2001 From: Matthew Andres Moreno Date: Mon, 16 Sep 2024 14:53:16 -0400 Subject: [PATCH] Add counterfactual test for SetRandomSeed event --- .../tests/set_random_seed2/config/avida.cfg | 688 ++++++++++++++++++ .../set_random_seed2/config/environment.cfg | 25 + .../tests/set_random_seed2/config/events.cfg | 39 + .../set_random_seed2/config/evolved-not.org | 321 ++++++++ .../config/instset-transsmt.cfg | 36 + .../set_random_seed2/config/parasite-smt.org | 81 +++ .../set_random_seed2/expected/.gitignore | 0 .../expected/data/parasites1.grid | 50 ++ .../expected/data/parasites1a.dat | 6 + .../expected/data/parasites1b.dat | 6 + .../expected/data/parasites2.grid | 50 ++ .../expected/data/parasites2a.dat | 6 + .../expected/data/parasites2b.dat | 6 + .../expected/data/parasites3.dat | 6 + avida-core/tests/set_random_seed2/test_list | 37 + 15 files changed, 1357 insertions(+) create mode 100644 avida-core/tests/set_random_seed2/config/avida.cfg create mode 100644 avida-core/tests/set_random_seed2/config/environment.cfg create mode 100644 avida-core/tests/set_random_seed2/config/events.cfg create mode 100644 avida-core/tests/set_random_seed2/config/evolved-not.org create mode 100644 avida-core/tests/set_random_seed2/config/instset-transsmt.cfg create mode 100644 avida-core/tests/set_random_seed2/config/parasite-smt.org create mode 100644 avida-core/tests/set_random_seed2/expected/.gitignore create mode 100644 avida-core/tests/set_random_seed2/expected/data/parasites1.grid create mode 100644 avida-core/tests/set_random_seed2/expected/data/parasites1a.dat create mode 100644 avida-core/tests/set_random_seed2/expected/data/parasites1b.dat create mode 100644 avida-core/tests/set_random_seed2/expected/data/parasites2.grid create mode 100644 avida-core/tests/set_random_seed2/expected/data/parasites2a.dat create mode 100644 avida-core/tests/set_random_seed2/expected/data/parasites2b.dat create mode 100644 avida-core/tests/set_random_seed2/expected/data/parasites3.dat create mode 100644 avida-core/tests/set_random_seed2/test_list diff --git a/avida-core/tests/set_random_seed2/config/avida.cfg b/avida-core/tests/set_random_seed2/config/avida.cfg new file mode 100644 index 0000000000..73f376370c --- /dev/null +++ b/avida-core/tests/set_random_seed2/config/avida.cfg @@ -0,0 +1,688 @@ +############################################################################# +# This file includes all the basic run-time defines for Avida. +# For more information, see doc/config.html +############################################################################# + +VERSION_ID 2.11.0 # Do not change this value. + +### GENERAL_GROUP ### +# General Settings +VERBOSITY 3 # 0 = No output at all + # 1 = Normal output + # 2 = Verbose output, detailing progress + # 3 = High level of details, as available + # 4 = Print Debug Information, as applicable +RANDOM_SEED 0 # Random number seed (0 for based on time) +SPECULATIVE 1 # Enable speculative execution + # (pre-execute instructions that don't affect other organisms) +POPULATION_CAP 0 # Carrying capacity in number of organisms (use 0 for no cap) + +### TOPOLOGY_GROUP ### +# World topology +WORLD_X 50 # Width of the Avida world +WORLD_Y 50 # Height of the Avida world +WORLD_GEOMETRY 2 # 1 = Bounded Grid (WOLRD_X x WORLD_Y) + # 2 = Toroidal Grid (WOLRD_X x WORLD_Y; wraps at edges + # 3 = Clique (all population cells are connected) + # 4 = Hexagonal grid + # 5 = Partial + # 6 = 3D Lattice (under development) + # 7 = Random connected + # 8 = Scale-free (detailed below) +SCALE_FREE_M 3 # Number of connections per cell in a scale-free geometry +SCALE_FREE_ALPHA 1.0 # Attachment power (1=linear) +SCALE_FREE_ZERO_APPEAL 0.0 # Appeal of cells with zero connections + +### CONFIG_FILE_GROUP ### +# Other configuration Files +DATA_DIR data # Directory in which config files are found +EVENT_FILE events.cfg # File containing list of events during run +ANALYZE_FILE analyze.cfg # File used for analysis mode +ENVIRONMENT_FILE environment.cfg # File that describes the environment + +#include INST_SET=instset-transsmt.cfg + +### MUTATION_GROUP ### +# Mutation rates +COPY_MUT_PROB 0.000 # Mutation rate (per copy) +COPY_INS_PROB 0.0 # Insertion rate (per copy) +COPY_DEL_PROB 0.0 # Deletion rate (per copy) +COPY_UNIFORM_PROB 0.0 # Uniform mutation probability (per copy) + # - Randomly apply insertion, deletion or point mutation +COPY_SLIP_PROB 0.0 # Slip rate (per copy) +POINT_MUT_PROB 0.0 # Mutation rate (per-location per update) +DIV_MUT_PROB 0.000703 # Mutation rate (per site, applied on divide) +DIV_INS_PROB 0.00003906 # Insertion rate (per site, applied on divide) +DIV_DEL_PROB 0.00003906 # Deletion rate (per site, applied on divide) +DIV_UNIFORM_PROB 0.0 # Uniform mutation probability (per site, applied on divide) + # - Randomly apply insertion, deletion or point mutation +DIV_SLIP_PROB 0.0 # Slip rate (per site, applied on divide) +DIVIDE_MUT_PROB 0.0 # Mutation rate (max one, per divide) +DIVIDE_INS_PROB 0.0#5 # Insertion rate (max one, per divide) +DIVIDE_DEL_PROB 0.0#5 # Deletion rate (max one, per divide) +DIVIDE_UNIFORM_PROB 0.0 # Uniform mutation probability (per divide) + # - Randomly apply insertion, deletion or point mutation +DIVIDE_SLIP_PROB 0.0 # Slip rate (per divide) - creates large deletions/duplications +DIVIDE_POISSON_MUT_MEAN 0.0 # Mutation rate (Poisson distributed, per divide) +DIVIDE_POISSON_INS_MEAN 0.0 # Insertion rate (Poisson distributed, per divide) +DIVIDE_POISSON_DEL_MEAN 0.0 # Deletion rate (Poisson distributed, per divide) +DIVIDE_POISSON_SLIP_MEAN 0.0 # Slip rate (Poisson distributed, per divide) +INJECT_INS_PROB 0.000825 # Insertion rate (per site, applied on inject) +INJECT_DEL_PROB 0.000825 # Deletion rate (per site, applied on inject) +INJECT_MUT_PROB 0.0075 # Mutation rate (per site, applied on inject) +SLIP_FILL_MODE 0 # Fill insertions from slip mutations with: + # 0 = Duplication + # 1 = nop-X + # 2 = Random + # 3 = scrambled + # 4 = nop-C +SLIP_COPY_MODE 0 # How to handle 'on-copy' slip mutations: + # 0 = actual read head slip + # 1 = instant large mutation (obeys slip mode) +PARENT_MUT_PROB 0.0 # Per-site, in parent, on divide +SPECIAL_MUT_LINE -1 # If this is >= 0, ONLY this line is mutated +META_COPY_MUT 0.2 # Prob. of copy mutation rate changing (per gen) +META_STD_DEV 0.1 # Standard deviation of meta mutation size. +MUT_RATE_SOURCE 1 # 1 = Mutation rates determined by environment. + # 2 = Mutation rates inherited from parent. + +### REPRODUCTION_GROUP ### +# Birth and Death config options +DIVIDE_FAILURE_RESETS 0 # When Divide fails, organisms are interally reset +BIRTH_METHOD 4 # Which organism should be replaced when a birth occurs? + # 0 = Random organism in neighborhood + # 1 = Oldest in neighborhood + # 2 = Largest Age/Merit in neighborhood + # 3 = None (use only empty cells in neighborhood) + # 4 = Random from population (Mass Action) + # 5 = Oldest in entire population + # 6 = Random within deme + # 7 = Organism faced by parent + # 8 = Next grid cell (id+1) + # 9 = Largest energy used in entire population + # 10 = Largest energy used in neighborhood + # 11 = Local neighborhood dispersal +PREFER_EMPTY 0 # Overide BIRTH_METHOD to preferentially choose empty cells for offsping? +ALLOW_PARENT 1 # Should parents be considered when deciding where to place offspring? +DISPERSAL_RATE 0.0 # Rate of dispersal under birth method 11 + # (poisson distributed random connection list hops) +DEATH_PROB 0.0 # Probability of death when dividing. +DEATH_METHOD 2 # When should death by old age occur? + # 0 = Never + # 1 = When executed AGE_LIMIT (+deviation) total instructions + # 2 = When executed genome_length * AGE_LIMIT (+dev) instructions +AGE_LIMIT 30 # See DEATH_METHOD +AGE_DEVIATION 0 # Creates a normal distribution around AGE_LIMIT for time of death +ALLOC_METHOD 0 # When allocating blank tape, how should it be initialized? + # 0 = Allocated space is set to default instruction. + # 1 = Set to section of dead genome (creates potential for recombination) + # 2 = Allocated space is set to random instruction. +DIVIDE_METHOD 1 # 0 = Divide leaves state of mother untouched. + # 1 = Divide resets state of mother(effectively creating 2 offspring) + # 2 = Divide resets state of current thread only (use with parasites) +EPIGENETIC_METHOD 0 # Inheritance of state information other than genome + # 0 = none + # 1 = offspring inherits registers and stacks of first thread + # 1 = parent maintains registers and stacks of first thread + # + # 1 = offspring and parent keep state information +GENERATION_INC_METHOD 1 # 0 = Only increase generation of offspring on divide. + # 1 = Increase generation of both parent and offspring + # (suggested with DIVIDE_METHOD 1). +RESET_INPUTS_ON_DIVIDE 0 # Reset environment inputs of parent upon successful divide. +INHERIT_MERIT 0 # Should merit be inhereted from mother parent? (in asexual) +INHERIT_MULTITHREAD 0 # Should offspring of parents with multiple threads be marked multithreaded? + +### DIVIDE_GROUP ### +# Divide restrictions and triggers - settings describe conditions for a successful divide +OFFSPRING_SIZE_RANGE 2.0 # Maximal differential between offspring and parent length. + # (Checked BEFORE mutations applied on divide.) +MIN_COPIED_LINES 0.5 # Code fraction that must be copied before divide +MIN_EXE_LINES 0.5 # Code fraction that must be executed before divide +MIN_GENOME_SIZE 0 # Minimum number of instructions allowed in a genome. 0 = OFF +MAX_GENOME_SIZE 0 # Maximum number of instructions allowed in a genome. 0 = OFF +REQUIRE_ALLOCATE 1 # (Original CPU Only) Require allocate before divide? +REQUIRED_TASK -1 # Task ID required for successful divide +IMMUNITY_TASK -1 # Task providing immunity from the required task +REQUIRED_REACTION -1 # Reaction ID required for successful divide +IMMUNITY_REACTION -1 # Reaction ID that provides immunity for successful divide +REQUIRE_SINGLE_REACTION 1 # If set to 1, at least one reaction is required for a successful divide +REQUIRED_BONUS 0.0 # Required bonus to divide +REQUIRE_EXACT_COPY 0 # Require offspring to be an exact copy (checked before divide mutations) +REQUIRED_RESOURCE -1 # ID of resource required in organism's internal bins for successful + # divide (resource not consumed) +REQUIRED_RESOURCE_LEVEL 0.0 # Level of resource needed for REQUIRED_RESOURCE +IMPLICIT_REPRO_BONUS 0 # Call Inst_Repro to divide upon achieving this bonus. 0 = OFF +IMPLICIT_REPRO_CPU_CYCLES 0 # Call Inst_Repro after this many cpu cycles. 0 = OFF +IMPLICIT_REPRO_TIME 0 # Call Inst_Repro after this time used. 0 = OFF +IMPLICIT_REPRO_END 0 # Call Inst_Repro after executing the last instruction in the genome. +IMPLICIT_REPRO_ENERGY 0.0 # Call Inst_Repro if organism accumulates this amount of energy. + +### RECOMBINATION_GROUP ### +# Sexual Recombination and Modularity +RECOMBINATION_PROB 1.0 # Probability of recombination in div-sex +MAX_BIRTH_WAIT_TIME -1 # Updates incipiant orgs can wait for crossover (-1 = unlimited) +MODULE_NUM 0 # Number of modules in the genome +CONT_REC_REGS 1 # Are (modular) recombination regions continuous? +CORESPOND_REC_REGS 1 # Are (modular) recombination regions swapped randomly + # or with corresponding positions? +TWO_FOLD_COST_SEX 0 # 0 = Both offspring are born (no two-fold cost) + # 1 = only one recombined offspring is born. +SAME_LENGTH_SEX 0 # 0 = Recombine with any genome + # 1 = Recombine only w/ same length +ALLOW_MATE_SELECTION 0 # Allow organisms to select mates (requires instruction set support) + +### PARASITE_GROUP ### +# Parasite config options +INJECT_METHOD 1 # What should happen to a parasite when it gives birth? + # 0 = Leave the parasite thread state untouched. + # 1 = Resets the state of the calling thread (for SMT parasites, this must be 1) +INJECT_PROB_FROM_TASKS 0 # Inject occurs based on probability from performing tasks - 11*numTasks +INJECT_STERILIZES_HOST 0 # Infection causes host steralization +INJECT_IS_VIRULENT 0 # Infection causes host steralization and takes all cpu cycles (setting this to 1 will override inject_virulence) +PARASITE_SKIP_REACTIONS 1 # Parasite tasks do not get processed in the environment (1) or they do trigger reactions (0) +INJECT_IS_TASK_SPECIFIC 1 # Parasites must match a task done by the host they are trying to infect +INJECT_SKIP_FIRST_TASK 0 # They cannot match the first task the host is doing to infect +INJECT_DEFAULT_SUCCESS 0.0 # If injection is task specific, with what probability should non-matching parasites infect the host +PARASITE_VIRULENCE 0.85 # The probabalistic percentage of cpu cycles allocated to the parasite instead of the host. Ensure INJECT_IS_VIRULENT is set to 0. This only works for single infection at the moment +PARASITE_MEM_SPACES 1 # Parasites get their own memory spaces +PARASITE_NO_COPY_MUT 1 # Parasites do not get copy mutation rates + +### ARCHETECTURE_GROUP ### +# Details on how CPU should work +IO_EXPIRE 1 # Is the expiration functionality of '-expire' I/O instructions enabled? + +### MP_GROUP ### +# Config options for multiple, distributed populations +ENABLE_MP 0 # Enable multi-process Avida; 0=disabled (default), + # 1=enabled. +MP_SCHEDULING_STYLE 0 # Style of scheduling: + # 0=non-MP aware (default) + # 1=MP aware, integrated across worlds. + +### DEME_GROUP ### +# Demes and Germlines +NUM_DEMES 1 # Number of independent groups in the population +DEMES_COMPETITION_STYLE 0 # How should demes compete? + # 0=Fitness proportional selection + # 1=Tournament selection +DEMES_TOURNAMENT_SIZE 0 # Number of demes that participate in a tournament +DEMES_OVERRIDE_FITNESS 0 # Should the calculated fitness is used? + # 0=yes (default) + # 1=no (all fitnesses=1) +DEMES_USE_GERMLINE 0 # Should demes use a distinct germline? +DEMES_PREVENT_STERILE 0 # Prevent sterile demes from replicating? +DEMES_RESET_RESOURCES 0 # Reset resources in demes on replication? + # 0 = reset both demes + # 1 = reset target deme + # 2 = deme resources remain unchanged +DEMES_REPLICATE_SIZE 1 # Number of identical organisms to create or copy from the + # source deme to the target deme +LOG_DEMES_REPLICATE 0 # Log deme replications? +DEMES_REPLICATE_LOG_START 0 # Update at which to start logging deme replications +DEMES_PROB_ORG_TRANSFER 0.0 # Probablity of an organism being transferred from the + # source deme to the target deme +DEMES_ORGANISM_SELECTION 0 # How should organisms be selected for transfer from + # source to target during deme replication? + # 0 = random with replacement + # 1 = sequential +DEMES_ORGANISM_PLACEMENT 0 # How should organisms be placed during deme replication. + # 0 = cell-array middle + # 1 = deme center + # 2 = random placement + # 3 = sequential +DEMES_ORGANISM_FACING 0 # Which direction should organisms face after deme replication. + # 0 = unchanged + # 1 = northwest. + # 2 = random. +DEMES_MAX_AGE 500 # The maximum age of a deme (in updates) to be + # used for age-based replication +DEMES_MAX_BIRTHS 100 # Max number of births that can occur within a deme; + # used with birth-count replication +DEMES_MIM_EVENTS_KILLED_RATIO 0.7 # Minimum ratio of events killed required for event period to be a success. +DEMES_MIM_SUCCESSFUL_EVENT_PERIODS 1 # Minimum number of consecutive event periods that must be a success. +GERMLINE_COPY_MUT 0.0075 # Prob. of copy mutations during germline replication +GERMLINE_INS_MUT 0.05 # Prob. of insertion mutations during germline replication +GERMLINE_DEL_MUT 0.05 # Prob. of deletion mutations during germline replication +DEMES_REPLICATE_CPU_CYCLES 0.0 # Replicate a deme immediately after it has used this many + # cpu cycles per org in deme (0 = OFF). +DEMES_REPLICATE_TIME 0.0 # Number of CPU cycles used by a deme to trigger its replication + # (normalized by number of orgs in deme and organism merit; 0 = OFF). +DEMES_REPLICATE_BIRTHS 0 # Number of offspring produced by a deme to trigger its replication (0 = OFF). +DEMES_REPLICATE_ORGS 0 # Number of organisms in a deme to trigger its replication (0 = OFF). +DEMES_REPLICATION_ONLY_RESETS 0 # Kin selection mode. On replication: + # 0 = Nothing extra + # 1 = reset deme resources + # 2 = reset resources and re-inject organisms +DEMES_MIGRATION_RATE 0.0 # Probability of an offspring being born in a different deme. +DEMES_MIGRATION_METHOD 0 # Which demes can an org land in when it migrates? + # 0 = Any other deme + # 1 = Eight neighboring demes + # 2 = Two adjacent demes in list + # 3 = Proportional based on the number of points +DEMES_NUM_X 0 # Simulated number of demes in X dimension. Used only for migration. +DEMES_SEED_METHOD 0 # Deme seeding method. + # 0 = Maintain old consistency + # 1 = New method using genotypes +DEMES_DIVIDE_METHOD 0 # Deme divide method. Only works with DEMES_SEED_METHOD 1 + # 0 = Replace and target demes + # 1 = Replace target deme, reset source deme to founders + # 2 = Replace target deme, leave source deme unchanged +DEMES_DEFAULT_GERMLINE_PROPENSITY 0.0 # Default germline propensity of organisms in deme. + # For use with DEMES_DIVIDE_METHOD 2. +DEMES_FOUNDER_GERMLINE_PROPENSITY -1.0 # Default germline propensity of founder organisms in deme. + # For use with DEMES_DIVIDE_METHOD 2. + # <0 = OFF +DEMES_PREFER_EMPTY 0 # Give empty demes preference as targets of deme replication? +DEMES_PROTECTION_POINTS 0 # The number of points a deme receives for each suicide. +MIGRATION_RATE 0.0 # Uniform probability of offspring migrating to a new deme. +DEMES_TRACK_SHANNON_INFO 0 # Enable shannon mutual information tracking for demes. + +### REVERSION_GROUP ### +# Mutation Reversion +# Most of these slow down avida a lot, and should be set to 0.0 normally. +REVERT_FATAL 0.0 # Prob of lethal mutations being reverted on birth +REVERT_DETRIMENTAL 0.0 # Prob of harmful (but non-lethal) mutations reverting on birth +REVERT_NEUTRAL 0.0 # Prob of neutral mutations being reverted on birth +REVERT_BENEFICIAL 0.0 # Prob of beneficial mutations being reverted on birth +REVERT_TASKLOSS 0.0 # Prob of mutations that cause task loss (without any gains) being reverted +STERILIZE_FATAL 0.0 # Prob of lethal mutations steralizing an offspring (typically no effect!) +STERILIZE_DETRIMENTAL 0.0 # Prob of harmful (but non-lethal) mutations steralizing an offspring +STERILIZE_NEUTRAL 0.0 # Prob of neutral mutations steralizing an offspring +STERILIZE_BENEFICIAL 0.0 # Prob of beneficial mutations steralizing an offspring +STERILIZE_TASKLOSS 0.0 # Prob of mutations causing task loss steralizing an offspring +STERILIZE_UNSTABLE 0 # Should genotypes that cannot replicate perfectly not be allowed to replicate? +NEUTRAL_MAX 0.0 # Percent benifical change from parent fitness to be considered neutral. +NEUTRAL_MIN 0.0 # Percent deleterious change from parent fitness to be considered neutral. + +### TIME_GROUP ### +# Time Slicing +AVE_TIME_SLICE 30 # Average number of CPU-cycles per org per update +SLICING_METHOD 1 # 0 = CONSTANT: all organisms receive equal number of CPU cycles + # 1 = PROBABILISTIC: CPU cycles distributed randomly, proportional to merit. + # 2 = INTEGRATED: CPU cycles given out deterministicly, proportional to merit + # 3 = DEME_PROBABALISTIC: Demes receive fixed number of CPU cycles, awarded probabalistically to members + # 4 = CROSS_DEME_PROBABALISTIC: Demes receive CPU cycles proportional to living population size, awarded probabalistically to members + # 5 = CONSTANT BURST: all organisms receive equal number of CPU cycles, in SLICING_BURST_SIZE chunks +SLICING_BURST_SIZE 1 # Sets the scheduler burst size for SLICING_METHOD 5. +BASE_MERIT_METHOD 4 # How should merit be initialized? + # 0 = Constant (merit independent of size) + # 1 = Merit proportional to copied size + # 2 = Merit prop. to executed size + # 3 = Merit prop. to full size + # 4 = Merit prop. to min of executed or copied size + # 5 = Merit prop. to sqrt of the minimum size + # 6 = Merit prop. to num times MERIT_BONUS_INST is in genome. +BASE_CONST_MERIT 100 # Base merit valse for BASE_MERIT_METHOD 0 +MERIT_BONUS_INST 0 # Instruction ID to count for BASE_MERIT_METHOD 6 +MERIT_BONUS_EFFECT 0 # Amount of merit earn per instruction for BASE_MERIT_METHOD 6 (-1 = penalty, 0 = no effect) +FITNESS_VALLEY 0 # in BASE_MERIT_METHOD 6, this creates valleys from + # FITNESS_VALLEY_START to FITNESS_VALLEY_STOP + # (0 = off, 1 = on) +FITNESS_VALLEY_START 0 # if FITNESS_VALLEY = 1, orgs with num_key_instructions + # from FITNESS_VALLEY_START to FITNESS_VALLEY_STOP + # get fitness 1 (lowest) +FITNESS_VALLEY_STOP 0 # if FITNESS_VALLEY = 1, orgs with num_key_instructions + # from FITNESS_VALLEY_START to FITNESS_VALLEY_STOP + # get fitness 1 (lowest) +DEFAULT_BONUS 1.0 # Initial bonus before any tasks +MERIT_DEFAULT_BONUS 0 # Instead of inheriting bonus from parent, use this value instead (0 = off) +MERIT_INC_APPLY_IMMEDIATE 1 # Should merit increases (above current) be applied immediately, or delayed until divide? +TASK_REFRACTORY_PERIOD 0.0 # Number of updates after taske until regain full value +FITNESS_METHOD 0 # 0 = default, 1 = sigmoidal, +FITNESS_COEFF_1 1.0 # 1st FITNESS_METHOD parameter +FITNESS_COEFF_2 1.0 # 2nd FITNESS_METHOD parameter +MAX_CPU_THREADS 2 # Maximum number of Threads a CPU can spawn +THREAD_SLICING_METHOD 0 # Formula for allocating CPU cycles across threads in an organism + # (num_threads-1) * THREAD_SLICING_METHOD + 1 + # 0 = One thread executed per time slice. + # 1 = All threads executed each time slice. +NO_CPU_CYCLE_TIME 0 # Don't count each CPU cycle as part of gestation time +MAX_LABEL_EXE_SIZE 1 # Max nops marked as executed when labels are used +PRECALC_PHENOTYPE 0 # 0 = Disabled + # 1 = Assign precalculated merit at birth (unlimited resources only) + # 2 = Assign precalculated gestation time + # 3 = Assign precalculated merit AND gestation time. + # 4 = Assign last instruction counts + # 5 = Assign last instruction counts and merit + # 6 = Assign last instruction counts and gestation time + # 7 = Assign everything currently supported + # Fitness will be evaluated for organism based on these settings. +FASTFORWARD_UPDATES 0 # Fast-forward if the average generation has not changed in this many updates. (0 = off) +FASTFORWARD_NUM_ORGS 0 # Fast-forward if population is equal to this +GENOTYPE_PHENPLAST_CALC 100 # Number of times to test a genotype's + # plasticity during runtime. + +### ALTRUISM_GROUP ### +# Altrusim +MERIT_GIVEN 0.0 # Fraction of merit donated with 'donate' command +MERIT_RECEIVED 0.0 # Multiplier of merit given with 'donate' command +MAX_DONATE_KIN_DIST -1 # Limit on distance of relation for donate; -1=no max +MAX_DONATE_EDIT_DIST -1 # Limit on genetic (edit) distance for donate; -1=no max +MIN_GB_DONATE_THRESHOLD -1 # threshold green beard donates only to orgs above this + # donation attempt threshold; -1=no thresh +DONATE_THRESH_QUANTA 10 # The size of steps between quanta donate thresholds +MAX_DONATES 1000000 # Limit on number of donates organisms are allowed. + +### GENEOLOGY_GROUP ### +# Geneology +THRESHOLD 3 # Number of organisms in a genotype needed for it + # to be considered viable. +TEST_CPU_TIME_MOD 20 # Time allocated in test CPUs (multiple of length) + +### LOG_GROUP ### +# Log Files +LOG_GENOTYPES 0 # 0 = off, 1 = print ALL, 2 = print threshold ONLY. +LOG_THRESHOLD 0 # 0/1 (off/on) toggle to print file. +LOG_LINEAGES 0 # Track lineages over time? + # WARNING: Can slow Avida a lot! +LINEAGE_CREATION_METHOD 0 # Requires LOG_LINEAGES = 1 + # 0 = Manual creation (on inject) + # 1 = when a child's (potential) fitness is higher than that of its parent. + # 2 = when a child's (potential) fitness is higher than max in population. + # 3 = when a child's (potential) fitness is higher than max in dom. lineage + # *and* the child is in the dominant lineage, or (2) + # 4 = when a child's (potential) fitness is higher than max in dom. lineage + # (and that of its own lineage) + # 5 = same as child's (potential) fitness is higher than that of the + # currently dominant organism, and also than that of any organism + # currently in the same lineage. + # 6 = when a child's (potential) fitness is higher than any organism + # currently in the same lineage. + # 7 = when a child's (potential) fitness is higher than that of any + # organism in its line of descent +TRACE_EXECUTION 0 # Trace the execution of all organisms in the population (WARNING: SLOW!) + +### ORGANISM_NETWORK_GROUP ### +# Organism Network Communication +NET_ENABLED 0 # Enable Network Communication Support +NET_DROP_PROB 0.0 # Message drop rate +NET_MUT_PROB 0.0 # Message corruption probability +NET_MUT_TYPE 0 # Type of message corruption. 0 = Random Single Bit, 1 = Always Flip Last +NET_STYLE 0 # Communication Style. 0 = Random Next, 1 = Receiver Facing +NET_LOG_MESSAGES 0 # Whether all messages are logged; 0=false (default), 1=true. + +### ORGANISM_MESSAGING_GROUP ### +# Organism Message-Based Communication +MESSAGE_SEND_BUFFER_SIZE 1 # Size of message send buffer (stores messages that were sent) + # TASKS NOT CHECKED ON 0! + # -1=inf, default=1. +MESSAGE_RECV_BUFFER_SIZE 8 # Size of message receive buffer (stores messages that are received); -1=inf, default=8. +MESSAGE_RECV_BUFFER_BEHAVIOR 0 # Behavior of message receive buffer; 0=drop oldest (default), 1=drop incoming +ACTIVE_MESSAGES_ENABLED 0 # Enable active messages. + # 0 = off + # 2 = message creates parallel thread + +### BUY_SELL_GROUP ### +# Buying and Selling Parameters +SAVE_RECEIVED 0 # Enable storage of all inputs bought from other orgs +BUY_PRICE 0 # price offered by organisms attempting to buy +SELL_PRICE 0 # price offered by organisms attempting to sell + +### HOARD_RESOURCE_GROUP ### +# Resource Hoarding Parameters +USE_RESOURCE_BINS 0 # Enable resource bin use. This serves as a guard on most resource hoarding code. +ABSORB_RESOURCE_FRACTION .0025 # Fraction of available environmental resource an organism absorbs. +MULTI_ABSORB_TYPE 0 # What to do if a collect instruction is called on a range of resources. + # 0 = absorb a random resource in the range + # 1 = absorb the first resource in the range + # 2 = absorb the last resource in the range + # 3 = absorb ABSORB_RESOURCE_FRACTION / (# of resources in range) of each resource in the range +MAX_TOTAL_STORED -1 # Maximum total amount of all resources an organism can store. + # <0 = no maximum +USE_STORED_FRACTION 1.0 # The fraction of stored resource to use. +ENV_FRACTION_THRESHOLD 1.0 # The fraction of available environmental resource to compare available stored resource to when deciding whether to use stored resource. +RETURN_STORED_ON_DEATH 1 # Return an organism's stored resources to the world when it dies? +SPLIT_ON_DIVIDE 1 # Split mother cell's resources between two daughter cells on division? +COLLECT_SPECIFIC_RESOURCE 0 # Resource to be collected by the "collect-specific" instruction + +### ANALYZE_GROUP ### +# Analysis Settings +MAX_CONCURRENCY -1 # Maximum number of analyze threads, -1 == use all available. +ANALYZE_OPTION_1 # String variable accessible from analysis scripts +ANALYZE_OPTION_2 # String variable accessible from analysis scripts + +### ENERGY_GROUP ### +# Energy Settings +ENERGY_ENABLED 0 # Enable Energy Model. 0/1 (off/on) +ENERGY_GIVEN_ON_INJECT 0.0 # Energy given to organism upon injection. +ENERGY_GIVEN_AT_BIRTH 0.0 # Energy given to offspring upon birth. +FRAC_PARENT_ENERGY_GIVEN_TO_ORG_AT_BIRTH 0.5 # Fraction of parent's energy given to offspring organism. +FRAC_PARENT_ENERGY_GIVEN_TO_DEME_AT_BIRTH 0.5 # Fraction of parent's energy given to offspring deme. +FRAC_ENERGY_DECAY_AT_ORG_BIRTH 0.0 # Fraction of energy lost due to decay during organism reproduction. +FRAC_ENERGY_DECAY_AT_DEME_BIRTH 0.0 # Fraction of energy lost due to decay during deme reproduction. +NUM_CYCLES_EXC_BEFORE_0_ENERGY 0 # Number of virtual CPU cycles executed before energy is exhausted. +ENERGY_CAP -1.0 # Maximum amount of energy that can be stored in an organism. -1 = no max +APPLY_ENERGY_METHOD 0 # When should rewarded energy be applied to current energy? + # 0 = on divide + # 1 = on completion of task + # 2 = on sleep +FIX_METABOLIC_RATE -1.0 # Fix organism metobolic rate to value. This value is static. Feature disabled by default (value == -1) +FRAC_ENERGY_TRANSFER 0.0 # Fraction of replaced organism's energy take by new resident +LOG_SLEEP_TIMES 0 # Log sleep start and end times. 0/1 (off/on) + # WARNING: may use lots of memory. +FRAC_ENERGY_RELINQUISH 1.0 # Fraction of organisms energy to relinquish +ENERGY_PASSED_ON_DEME_REPLICATION_METHOD 0 # Who get energy passed from a parent deme + # 0 = Energy divided among organisms injected to offspring deme + # 1 = Energy divided among cells in offspring deme +INHERIT_EXE_RATE 0 # Inherit energy rate from parent? 0=no 1=yes +ATTACK_DECAY_RATE 0.0 # Percent of cell's energy decayed by attack +ENERGY_THRESH_LOW .33 # Threshold percent below which energy level is considered low. Requires ENERGY_CAP. +ENERGY_THRESH_HIGH .75 # Threshold percent above which energy level is considered high. Requires ENERGY_CAP. +ENERGY_COMPARISON_EPSILON 0.0 # Percent difference (relative to executing organism) required in energy level comparisons +ENERGY_REQUEST_RADIUS 1 # Radius of broadcast energy request messages. + +### ENERGY_SHARING_GROUP ### +# Energy Sharing Settings +ENERGY_SHARING_METHOD 0 # Method for sharing energy. 0=receiver must actively receive/request, 1=energy pushed on receiver +ENERGY_SHARING_PCT 0.0 # Percent of energy to share +ENERGY_SHARING_INCREMENT 0.01 # Amount to change percent energy shared +RESOURCE_SHARING_LOSS 0.0 # Fraction of shared resource lost in transfer +ENERGY_SHARING_UPDATE_METABOLIC 0 # 0/1 (off/on) - Whether to update an organism's metabolic rate on donate or reception/application of energy +LOG_ENERGY_SHARING 0 # Whether or not to log energy shares. 0/1 (off/on) + +### SECOND_PASS_GROUP ### +# Tracking metrics known after the running experiment previously +TRACK_CCLADES 0 # Enable tracking of coalescence clades +TRACK_CCLADES_IDS coalescence.ids # File storing coalescence IDs + +### GX_GROUP ### +# Gene Expression CPU Settings +MAX_PROGRAMIDS 16 # Maximum number of programids an organism can create. +MAX_PROGRAMID_AGE 2000 # Max number of CPU cycles a programid executes before it is removed. +IMPLICIT_GENE_EXPRESSION 0 # Create executable programids from the genome without explicit allocation and copying? +IMPLICIT_BG_PROMOTER_RATE 0.0 # Relative rate of non-promoter sites creating programids. +IMPLICIT_TURNOVER_RATE 0.0 # Number of programids recycled per CPU cycle. 0 = OFF +IMPLICIT_MAX_PROGRAMID_LENGTH 0 # Creation of an executable programid terminates after this many instructions. 0 = disabled + +### PROMOTER_GROUP ### +# Promoters +PROMOTERS_ENABLED 0 # Use the promoter/terminator execution scheme. + # Certain instructions must also be included. +PROMOTER_INST_MAX 0 # Maximum number of instructions to execute before terminating. 0 = off +PROMOTER_PROCESSIVITY 1.0 # Chance of not terminating after each cpu cycle. +PROMOTER_PROCESSIVITY_INST 1.0 # Chance of not terminating after each instruction. +PROMOTER_TO_REGISTER 0 # Place a promoter's base bit code in register BX when starting execution from it? +TERMINATION_RESETS 0 # Does termination reset the thread's state? +NO_ACTIVE_PROMOTER_EFFECT 0 # What happens when there are no active promoters? + # 0 = Start execution at the beginning of the genome. + # 1 = Kill the organism. + # 2 = Stop the organism from executing any further instructions. +PROMOTER_CODE_SIZE 24 # Size of a promoter code in bits. (Maximum value is 32) +PROMOTER_EXE_LENGTH 3 # Length of promoter windows used to determine execution. +PROMOTER_EXE_THRESHOLD 2 # Minimum number of bits that must be set in a promoter window to allow execution. +INST_CODE_LENGTH 3 # Instruction binary code length (number of bits) +INST_CODE_DEFAULT_TYPE 0 # Default value of instruction binary code value. + # 0 = All zeros + # 1 = Based off the instruction number +CONSTITUTIVE_REGULATION 0 # Sense a new regulation value before each CPU cycle? + +### COLORS_GROUP ### +# Output colors for when data files are printed in HTML mode. +# There are two sets of these; the first are for lineages, +# and the second are for mutation tests. +COLOR_DIFF CCCCFF # Color to flag stat that has changed since parent. +COLOR_SAME FFFFFF # Color to flag stat that has NOT changed since parent. +COLOR_NEG2 FF0000 # Color to flag stat that is significantly worse than parent. +COLOR_NEG1 FFCCCC # Color to flag stat that is minorly worse than parent. +COLOR_POS1 CCFFCC # Color to flag stat that is minorly better than parent. +COLOR_POS2 00FF00 # Color to flag stat that is significantly better than parent. +COLOR_MUT_POS 00FF00 # Color to flag stat that has changed since parent. +COLOR_MUT_NEUT FFFFFF # Color to flag stat that has changed since parent. +COLOR_MUT_NEG FFFF00 # Color to flag stat that has changed since parent. +COLOR_MUT_LETHAL FF0000 # Color to flag stat that has changed since parent. + +### MOVEMENT_GROUP ### +# Movement Features Settings +MOVEMENT_COLLISIONS_LETHAL 0 # Are collisions during movement lethal? +MOVEMENT_COLLISIONS_SELECTION_TYPE 0 # 0 = 50% chance + # 1 = binned vitality based +VITALITY_BIN_EXTREMES 1.0 # vitality multiplier for extremes (> 1 stddev from the mean population age) +VITALITY_BIN_CENTER 5.0 # vitality multiplier for center bin (with 1 stddev of the mean population age) + +### PHEROMONE_GROUP ### +# Pheromone Settings +PHEROMONE_ENABLED 0 # Enable pheromone usage. 0/1 (off/on) +PHEROMONE_AMOUNT 1.0 # Amount of pheromone to add per drop +PHEROMONE_DROP_MODE 0 # Where to drop pheromone + # 0 = Half amount at src, half at dest + # 1 = All at source + # 2 = All at dest +EXPLOIT_EXPLORE_PROB 0.00 # Probability of random exploration + # instead of pheromone trail following +LOG_PHEROMONE 0 # Log pheromone drops. 0/1 (off/on) +PHEROMONE_LOG_START 0 # Update at which to start logging pheromone drops +EXPLOIT_LOG_START 0 # Update at which to start logging exploit moves +EXPLORE_LOG_START 0 # Update at which to start logging explore moves +MOVETARGET_LOG_START 0 # Update at which to start logging movetarget moves +LOG_INJECT 0 # Log injection of organisms. 0/1 (off/on) +INJECT_LOG_START 0 # Update at which to start logging injection of + # organisms + +### SYNCHRONIZATION_GROUP ### +# Synchronization settings +SYNC_FITNESS_WINDOW 100 # Number of updates over which to calculate fitness (default=100). +SYNC_FLASH_LOSSRATE 0.0 # P() to lose a flash send (0.0==off). +SYNC_TEST_FLASH_ARRIVAL -1 # CPU cycle at which an organism will receive a flash (off=-1, default=-1, analyze mode only.) + +### CONSENSUS_GROUP ### +# Consensus settings +CONSENSUS_HOLD_TIME 1 # Number of updates that consensus must be held for. + +### REPUTATION_GROUP ### +# Reputation Settings +RAW_MATERIAL_AMOUNT 100 # Number of raw materials an organism starts with +AUTO_REPUTATION 0 # Is an organism's reputation automatically computed based on its donations + # 0=no + # 1=increment for each donation + standing + # 2=+1 for donations given -1 for donations received + # 3=1 for donors -1 for recivers who have not donated + # 4=+1 for donors + # 5=+1 for donors during task check +ALT_BENEFIT 1.00 # Number multiplied by the number of raw materials received from another organism to compute reward +ALT_COST 1.00 # Number multiplied by the number of your raw materials +ROTATE_ON_DONATE 0 # Rotate an organism to face its donor 0/1 (off/on) +REPUTATION_REWARD 0 # Reward an organism for having a good reputation +DONATION_FAILURE_PERCENT 0 # Percentage of times that a donation fails +RANDOMIZE_RAW_MATERIAL_AMOUNT 0 # Should all the organisms receive the same amount 0/1 (off/on) +DONATION_RESTRICTIONS 0 # 0=none + # 1=inter-species only + # 2=different tag only +INHERIT_REPUTATION 0 # 0=reputations are not inherited + # 1=reputations are inherited + # 2=tags are inherited +SPECIALISTS 0 # 0=generalists allowed + # 1=only specialists +STRING_AMOUNT_CAP -1 # -1=no cap on string amounts + # #=CAP +MATCH_ALREADY_PRODUCED 0 # 0=off + # 1=on + +### GROUP_FORMATION_GROUP ### +# Group Formation Settings +USE_FORM_GROUPS 0 # Enable organisms to form groups. 0=off, + # 1=on no restrict, + # 2=on restrict to defined +DEFAULT_GROUP -1 # Default group to assign to organisms not asserting a group membership (-1 indicates disabled) + +### DEME_NETWORK_GROUP ### +# Deme network settings +DEME_NETWORK_TYPE 0 # 0=topology, structure of network determines fitness. +DEME_NETWORK_REQUIRES_CONNECTEDNESS 1 # Whether the deme's network must be connected before an actual fitness is calculated. +DEME_NETWORK_TOPOLOGY_FITNESS 0 # Network measure used to determine fitness; see cDemeTopologyNetwork.h. +DEME_NETWORK_LINK_DECAY 0 # Number of updates after which a link decays; 0=no decay (default). +DEME_NETWORK_REMOVE_NODE_ON_DEATH 0 # Whether death of an organism in + # the deme removes its links; + # 0=no (default); + # 1=yes. + +### HGT_GROUP ### +# Horizontal gene transfer settings +ENABLE_HGT 0 # Whether HGT is enabled; 0=false (default), + # 1=true. +HGT_SOURCE 0 # Source of HGT fragments; 0=dead organisms (default), + # 1=parent. +HGT_FRAGMENT_SELECTION 0 # Method used to select fragments for HGT mutation; 0=random (default), + # 1=trimmed selection + # 2=random placement. +HGT_FRAGMENT_SIZE_MEAN 10 # Mean size of fragments (default=10). +HGT_FRAGMENT_SIZE_VARIANCE 2 # Variance of fragments (default=2). +HGT_MAX_FRAGMENTS_PER_CELL 100 # Max. allowed number of fragments per cell (default=100). +HGT_DIFFUSION_METHOD 0 # Method to use for diffusion of genome fragments; 0=none (default). +HGT_COMPETENCE_P 0.0 # Probability that an HGT 'natural competence' mutation will occur on divide (default=0.0). +HGT_INSERTION_MUT_P 0.0 # Probability that an HGT mutation will result in an insertion (default=0.0). +HGT_CONJUGATION_METHOD 0 # Method used to select the receiver and/or donor of an HGT conjugation; + # 0=random from neighborhood (default); + # 1=faced. +HGT_CONJUGATION_P 0.0 # Probability that an HGT conjugation mutation will occur on divide (default=0.0). +HGT_FRAGMENT_XFORM 0 # Transformation to apply to each fragment prior to incorporation into offspring's genome; 0=none (default), + # 1=random shuffle, + # 2=replace with random instructions. + +### INST_RES_GROUP ### +# Resource-Dependent Instructions Settings +INST_RES # Resource upon which the execution of certain instruction depends +INST_RES_FLOOR 0.0 # Assumed lower level of resource in environment. Used for probability dist. +INST_RES_CEIL 0.0 # Assumed upper level of resource in environment. Used for probability dist. + +### OPINION_GROUP ### +# Organism opinion settings +OPINION_BUFFER_SIZE 1 # Size of the opinion buffer (stores opinions set over the organism's lifetime); -1=inf, default=1, cannot be 0. + +### ALARM_GROUP ### +# Alarm Settings +BCAST_HOPS 1 # Number of hops to broadcast an alarm +ALARM_SELF 0 # Does sending an alarm move sender IP to alarm label? + # 0=no + # 1=yes + +### DIVISION_OF_LABOR_GROUP ### +# Division of Labor settings +AGE_POLY_TRACKING 0 # Print data for an age-task histogram +REACTION_THRESH 0 # The number of times the deme must perform each reaction in order to replicate +TASK_SWITCH_PENALTY 0 # Cost of task switching in cycles +TASK_SWITCH_PENALTY_TYPE 0 # Type of task switch cost: (0) none (1) learning, (2) retooling or context, (3) centrifuge +RES_FOR_DEME_REP 0 # The amount of resources that must be consumed prior to automatic deme replication + +### DEPRECATED_GROUP ### +# DEPRECATED (New functionality listed in comments) +ANALYZE_MODE 0 # 0 = Disabled + # 1 = Enabled + # 2 = Interactive + # DEPRECATED: use command line options -a[nalyze] or -i[nteractive]) +REPRO_METHOD 1 # Replace existing organism: 1=yes + # DEPRECATED: Use BIRTH_METHOD 3 instead. +LEGACY_GRID_LOCAL_SELECTION 0 # Enable legacy grid local mate selection. + # DEPRECATED: Birth chameber now uses population structure) +HARDWARE_TYPE 2 # 0 = Default, heads-based CPUs + # 1 = New SMT CPUs + # 2 = Transitional SMT + # 3 = Experimental CPU + # 4 = Gene Expression CPU +INST_SET - # Instruction set file ('-' = use default for hardware type) +INST_SET_LOAD_LEGACY 0 # Load legacy format instruction set file format + +### DEVEL_GROUP ### +# IN DEVELOPMENT (May not function correctly) +WORLD_Z 1 # Depth of the Avida world + diff --git a/avida-core/tests/set_random_seed2/config/environment.cfg b/avida-core/tests/set_random_seed2/config/environment.cfg new file mode 100644 index 0000000000..e4a6e194d3 --- /dev/null +++ b/avida-core/tests/set_random_seed2/config/environment.cfg @@ -0,0 +1,25 @@ +#for analyze mode, uncomment this line +#RESOURCE resECHO:initial=10000000:inflow=40:outflow=0.10 +RESOURCE resECHO:inflow=40:outflow=0.10 + +#REACTION ECHO echo process:resource=resECHO:value=0.0:type=pow:frac=0.5:min=1:max=1: requisite:noreaction=ECHO + +REACTION NOT +REACTION NAND +REACTION AND +REACTION ORN +REACTION OR +REACTION ANDN +REACTION NOR +REACTION XOR +REACTION EQU + +REACTION NOT not process:resource=resECHO:value=0.0:type=pow:frac=0.5:min=1:max=1: requisite:noreaction=EQU:noreaction=XOR:noreaction=NOR:noreaction=ANDN:noreaction=OR:noreaction=ORN:noreaction=AND:noreaction=NAND:noreaction=NOT +REACTION NAND nand process:resource=resECHO:value=0.0:type=pow:frac=0.5:min=1:max=1: requisite:noreaction=EQU:noreaction=XOR:noreaction=NOR:noreaction=ANDN:noreaction=OR:noreaction=ORN:noreaction=AND:noreaction=NAND:noreaction=NOT +REACTION AND and process:resource=resECHO:value=0.0:type=pow:frac=0.5:min=1:max=1: requisite:noreaction=EQU:noreaction=XOR:noreaction=NOR:noreaction=ANDN:noreaction=OR:noreaction=ORN:noreaction=AND:noreaction=NAND:noreaction=NOT +REACTION ORN orn process:resource=resECHO:value=0.0:type=pow:frac=0.5:min=1:max=1: requisite:noreaction=EQU:noreaction=XOR:noreaction=NOR:noreaction=ANDN:noreaction=OR:noreaction=ORN:noreaction=AND:noreaction=NAND:noreaction=NOT +REACTION OR or process:resource=resECHO:value=0.0:type=pow:frac=0.5:min=1:max=1: requisite:noreaction=EQU:noreaction=XOR:noreaction=NOR:noreaction=ANDN:noreaction=OR:noreaction=ORN:noreaction=AND:noreaction=NAND:noreaction=NOT +REACTION ANDN andn process:resource=resECHO:value=0.0:type=pow:frac=0.5:min=1:max=1: requisite:noreaction=EQU:noreaction=XOR:noreaction=NOR:noreaction=ANDN:noreaction=OR:noreaction=ORN:noreaction=AND:noreaction=NAND:noreaction=NOT +REACTION NOR nor process:resource=resECHO:value=0.0:type=pow:frac=0.5:min=1:max=1: requisite:noreaction=EQU:noreaction=XOR:noreaction=NOR:noreaction=ANDN:noreaction=OR:noreaction=ORN:noreaction=AND:noreaction=NAND:noreaction=NOT +REACTION XOR xor process:resource=resECHO:value=0.0:type=pow:frac=0.5:min=1:max=1: requisite:noreaction=EQU:noreaction=XOR:noreaction=NOR:noreaction=ANDN:noreaction=OR:noreaction=ORN:noreaction=AND:noreaction=NAND:noreaction=NOT +REACTION EQU equ process:resource=resECHO:value=0.0:type=pow:frac=0.5:min=1:max=1: requisite:noreaction=EQU:noreaction=XOR:noreaction=NOR:noreaction=ANDN:noreaction=OR:noreaction=ORN:noreaction=AND:noreaction=NAND:noreaction=NOT diff --git a/avida-core/tests/set_random_seed2/config/events.cfg b/avida-core/tests/set_random_seed2/config/events.cfg new file mode 100644 index 0000000000..acb4bc3f8b --- /dev/null +++ b/avida-core/tests/set_random_seed2/config/events.cfg @@ -0,0 +1,39 @@ +############################################################################## +# +# This is the setup file for the events system. From here, you can +# configure any actions that you want to have happen during the course of +# an experiment, including setting the times for data collection. +# +# basic syntax: [trigger] [start:interval:stop] [action/event] [arguments...] +# +# This file is currently setup to record key information every 100 updates. +# +# For information on how to use this file, see: doc/events.html +# For other sample event configurations, see: support/config/ +# +############################################################################## + +# Seed the population with a single organism +u begin SetRandomSeed 42 +u begin Inject evolved-not.org + +u 800 PrintParasiteData parasites1a.dat +u 800 InjectParasite parasite-smt.org ABB 0 400 + +u 1000 PrintParasiteData parasites1b.dat +u 1000 DumpParasiteGenotypeGrid parasites1.grid + +u 1000 KillProb 1.0 + +u 1000 SetRandomSeed 43 # note!! not 42 like in first test +u 1000 Inject evolved-not.org + +u 1800 PrintParasiteData parasites2a.dat +u 1800 InjectParasite parasite-smt.org ABB 0 400 + +u 2000 PrintParasiteData parasites2b.dat +u 2000 DumpParasiteGenotypeGrid parasites2.grid + +u 2000 SetRandomSeed 52 +u 2001 PrintParasiteData parasites3.dat +u 2002 Exit diff --git a/avida-core/tests/set_random_seed2/config/evolved-not.org b/avida-core/tests/set_random_seed2/config/evolved-not.org new file mode 100644 index 0000000000..9680c6f660 --- /dev/null +++ b/avida-core/tests/set_random_seed2/config/evolved-not.org @@ -0,0 +1,321 @@ +Search +Nop-C +Nop-D +Push-Prev +SetMemory +Nop-A +Nop-D +Nop-D +Head-Move +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +IO +IO +IO +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Val-Nand +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +IO +Nop-C +Nop-C +Nop-C +Nop-C +Val-Copy +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-D +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Head-Move +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Push-Prev +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +If-Greater +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Search +Inst-Read +Inst-Write +Head-Push +Nop-C +If-Equal +Divide-Erase +Head-Move +Nop-A +Nop-B + diff --git a/avida-core/tests/set_random_seed2/config/instset-transsmt.cfg b/avida-core/tests/set_random_seed2/config/instset-transsmt.cfg new file mode 100644 index 0000000000..60ac5e0472 --- /dev/null +++ b/avida-core/tests/set_random_seed2/config/instset-transsmt.cfg @@ -0,0 +1,36 @@ +INSTSET transsmt:hw_type=2 + +INST Nop-A #1 (a) +INST Nop-B #2 (b) +INST Nop-C #3 (c) +INST Nop-D #4 (d) +INST Val-Shift-R #5 (e) +INST Val-Shift-L #6 (f) +INST Val-Nand #7 (g) +INST Val-Add #8 (h) +INST Val-Sub #9 (i) +INST Val-Mult #10 (j) +INST Val-Div #11 (k) +INST Val-Mod #12 (l) +INST Val-Inc #13 (m) +INST Val-Dec #14 (n) +INST SetMemory #15 (o) +INST Divide #16 (p) +INST Inst-Read #17 (q) +INST Inst-Write #18 (r) +INST If-Equal #19 (s) +INST If-Not-Equal #20 (t) +INST If-Less #21 (u) +INST If-Greater #22 (v) +INST Head-Push #23 (w) +INST Head-Pop #24 (x) +INST Head-Move #25 (y) +INST Search #26 (z) +INST Push-Next #27 (A) +INST Push-Prev #28 (B) +INST Push-Comp #29 (C) +INST Val-Delete #30 (D) +INST Val-Copy #31 (E) +INST IO #32 (F) +INST Inject +INST Divide-Erase diff --git a/avida-core/tests/set_random_seed2/config/parasite-smt.org b/avida-core/tests/set_random_seed2/config/parasite-smt.org new file mode 100644 index 0000000000..ab7ba875ed --- /dev/null +++ b/avida-core/tests/set_random_seed2/config/parasite-smt.org @@ -0,0 +1,81 @@ +Search # 1: Find organism end. +Nop-C # 2: - Match CD:AB +Nop-D +Push-Prev # 5: Move end position to Stack-A +SetMemory # 6: Place FLOW-head in memory space for offspring +Nop-A +Head-Move # 7: Move Write head to flow head position +Nop-C # 8: +Nop-C +Nop-C # 8: +Nop-C # 8: +Nop-C +Nop-C +IO +IO +IO +Nop-C +Nop-C # 8: +Nop-C # 8: +Nop-C # 8: +Nop-C +Nop-C # 8: +Nop-C +Nop-C # 8: +Nop-C # 8: +Nop-C +Nop-C # 8: +Val-Nand +Nop-C # 8: +Nop-C # 8: +Nop-C # 8: +Nop-C +Nop-C # 8: +Nop-C #IO +Nop-C #IO +Nop-C # 8: +Nop-C +Nop-C +Nop-C +Nop-C # 8: +Nop-C # 8: +Nop-C # 8: +Nop-C # 8: +Nop-C +Nop-C +Nop-C +IO +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C # 8: +Nop-C +Nop-C # 8: +Nop-C # 8: +Nop-C +Nop-C +Nop-C +Nop-C +Nop-C # 8: +Nop-C # 8: +Nop-C +Nop-C # 8: +Nop-C #Val-Nand +Nop-C +Search # 9: Drop flow head at start of copy loop +Inst-Read # 10: +Inst-Write # 11: +Head-Push # 12: Get current position of... +Nop-C # 13: - Read-Head +If-Equal # 14: Test if we are done copying... +Inject +Nop-A +Nop-D +Nop-D +Head-Move # 16: ...If not, continue with loop. +Nop-A # 17: +Nop-B + diff --git a/avida-core/tests/set_random_seed2/expected/.gitignore b/avida-core/tests/set_random_seed2/expected/.gitignore new file mode 100644 index 0000000000..e69de29bb2 diff --git a/avida-core/tests/set_random_seed2/expected/data/parasites1.grid b/avida-core/tests/set_random_seed2/expected/data/parasites1.grid new file mode 100644 index 0000000000..ffa034cb81 --- /dev/null +++ b/avida-core/tests/set_random_seed2/expected/data/parasites1.grid @@ -0,0 +1,50 @@ +zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zwdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccqccccccccczqrwcsfaddyab -1 0 -1 0 zaccdaBa zcdBlayccccccCFFcccccccucccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 zcdBoayccwcccFFFccccgccccccgccccccccccccccccccFccccccccccccccccccccqqrwcsGaddcab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccocccctccccczqrwcsGaddyab 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcHGaddyab 0 zcdBoayccccccFFFccccAccccccgcccccccccccccccccceccccccccccccccccCccczqrwcsGaddyab 0 0 0 zcdBoayc -1 0 0 0 zcdBoayccccccFFFccccscccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccckccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcBGaddyab 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 -1 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccEFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 +0 -1 zcdBoaycdccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrycsGaddyab 0 0 0 0 0 zcdBoayc zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 0 zcdBoayccccccFFFccccccccccgccccccccccccccccccFcccccccccEcccccccccczqrwcdGaddyab -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccscccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccsccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccFcccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccycccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayc -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccaccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccfcczqrwcsGaddyab 0 zcdBoaycccBcccsFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 0 -1 +0 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccjccccccccczqrwcsGaddab 0 -1 0 0 0 0 -1 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFmFcccccccccccgccccccccccccccccccFcBccccccccvccccccccczqrwcsGaddyab -1 0 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 -1 zcdBoaycccccjcFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyhb 0 0 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccpccccczqrwcBGaddyab 0 0 0 0 zcdBoayccccccwFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGsddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab +0 azcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccfccccccccccrcczqrwcsGaddya 0 -1 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFccccscccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 -1 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcocccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoaycccBcccsFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBhayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccrcccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoaycccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccCccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccfcczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zndBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 +zcdBoayccccccFFFcccccccccccgcccccckccccccccccCcFcccccccccccccccccccczqrwcsGaddyab zcdBoayc 0 0 zcdBoajccccccFFFcccccccccccgbcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zaccdaBa 0 zcdBoayccccccFFFcGcccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 zcdBoayBcccccFFFcccccccccccgcccccccccccccFcccacFccccaccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 -1 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccwFFpccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGsddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccqccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoaycpccccFFFcccccccccccgccccBcccccccccccccFccccfcccccccccbccccczqrwcsGiddyab 0 -1 +0 zcdBoayccccycFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 -1 0 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccrccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 zcdBpayc 0 0 -1 zcdBoaycccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 zcdBoayccccccFtFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqAwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 -1 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 0 0 0 0 0 zcdBoayccccccFFFcccceccccccgccccccccccccccccCccFcccccccccccccccccccczqrwcsGaddyab -1 -1 0 +0 0 -1 0 -1 0 0 0 0 0 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayc zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab azcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccrccccccccccccccczqrwcsGaddya zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccvcccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 -1 0 0 0 0 0 -1 zcdBoayccBcccFFFcccccczccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccocccccccccccFcccccccccccccccccccczqfwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccycccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccjccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayc -1 -1 zcdBoaycccacFFFccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsdaddyab zcdBoayccccccFFFcccccccccczgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 +0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoaycccccfFFFcccccccccccgccccccccccccccccccFccicccccccoccccccccczqrwcsGaddqab azcdBoayccccccFFFcccccccccccgccccacccccccccccccFccyccccccccrcccccccczqrwcsGaddya 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 0 -1 zcdBoayc zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFccccccfccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGadGyab zcdBhayccccccFAFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 0 -1 0 0 zcdBoayccccxcFFFcccccccccccgccccccccccccccycccFccccccccccccccBcccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccckFcccccccccccccccccccczqrwhsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcFcccccccccgccccccccccccccccccFcccccccccccccccccccczqywcsGaddyab 0 0 zcdBoaycccqccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 +0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 -1 -1 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 FcdBoayccccccFGFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcBccccccccvccccccccczqrwcsGaddyab 0 0 0 -1 zcdBoaycccccbFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcsnBoayccccccFFFcccccccccccgcccccccccccccoccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcmcccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 -1 0 -1 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 zcdBoayc -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 +0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccCcccccccccccccczqrwcsGaddyab 0 -1 zbdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccccccczqrwcsGaddyab zcdBoaycccdcccFFFcccccccccccgccccccccccccccccccFcccccccccccacccccccczqrwcsGaddyab 0 0 -1 zcdBoayc zcdBoayccccccFFFcccccccccccgcccucccccccccccccccFcccccccccccccccccccczqrwcsGadoyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccucBccczqrwcsGaddyab -1 0 0 0 0 -1 zcdBoayucccccFFFccccccccccgccccdcccccccccccccFcccccccccccccccccfcczqrwcsGadhyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 -1 0 zcdBoayccccccFFFccccccoccccgcccccccctccBccccccFcccccccccwcccccccccczqrwcsGaddyab 0 0 -1 zcdBoaycccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFccccccoccccgcccccccctccBccccccFcccccccccwcccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccczccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccBccccczqrwcsGaddyab 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccwzqrwcsGaddyab -1 -1 -1 +0 -1 0 0 0 -1 0 0 zcdBoayccccccFFFccvccccccccgccccccccccccccccccFcccccCcccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccchczccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 -1 0 -1 zcuBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccccccczqrwcsGaddyab zcdBoaycccczcFFFcccccccccccgccccccccccccccccccFccccccccccccccccccpzqrwcsGaddyab 0 -1 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayc -1 0 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcBccccccccvccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccpccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 -1 -1 -1 zcdBoayccccccFFFcccccccccFcgccccccccccccccccccFccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcGcccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 -1 -1 0 +-1 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccHcccccccccczqrwcsGFddyab 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccacccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFtFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccqccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 ecdBoayccccccFFFcccccccccccgccccccccccccccccccFccccyqcccccccccccccczqrCwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwesGaddyab 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccwzqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgcccccccsccccccccccFcccccccccccccccccccFzqrwcsGaddyab 0 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoaycccBcccsFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoaycccBcccsFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 0 0 0 0 0 0 zcdBoayc 0 zcdBoayccccccFFFcccccccccccgcccccccccccEccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccjcccccccDccczqrwcsqadclab +zcdBoayc 0 0 -1 zcdBoaycccGccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwwsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 -1 zcdBoayc -1 zcdBoayccccccFFFccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccceccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccscocccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccFccccccccccFcccccccwccccccccccccczqrwcsGaddyab 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgpcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 0 0 -1 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccqccccccccczqrwcsGaddyab 0 0 0 0 0 -1 zcdBoayc 0 -1 0 -1 0 -1 0 +0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddysb zaccdaBa zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFHcccccccccccgcccccccccccccccAccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccccjccczqrwcsGaddyab zcdBoayccccjcFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayc zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccfcczqrwcsGhaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 0 zcdBoayc zcdBoayc zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccfcczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccccccEcgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccBzqrwcsGaddyab zcdBoayccccccFFFcccccccccczgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 -1 -1 0 0 0 zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccctFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab +zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoayccccccFFFcccccccccccgcpccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccCccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccctccFFFcccccccccccgccccccccccccccccccFccccFccccccccccccccczqrwcsGaddyab zcdBoayccccccFiFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 0 0 0 0 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccocccctccccczqrwcsGaddyab zcdBoayccccccFFFccuccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFnFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFccccccHccccgccccccccccccccccccFccccccccccccccccccCczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFBFcccccccccccgcccccBcccccccccccFccccccccczccccccEccczqrwwcsGaddyab -1 -1 zcdBoayccccccFFocccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 -1 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFccccccccccgccccccccccccccccccFchcccccccccccccccccczqrwcsGaddyab +zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccnccccccccccccFccccccccccccccBccccczqrwcsGavdyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFiFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccFcgccccccccccccccccccFcccccccccccccccccccczqrwcsGadyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccccDccczqrwcsGadcyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccEccccczqrwcsGaddyab -1 0 0 0 0 0 zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGadyab zcdBoayccccccFFFcccccccccccgncccccccccccccccccFcccccccccDcccccccccczqrwcsGaddyab 0 0 -1 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccctccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 -1 -1 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccBccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab +0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccvcccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 -1 -1 0 0 -1 -1 0 -1 zcdBoayccccccFFFccccccccccgccccccccccccccccccFccccccccsccccccvcccczqrwcsGaddyab 0 0 0 -1 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccucBccczqrwcsGaddyab -1 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccacccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccjccccccczqrwcsGaddyab zcdBoayccccccFFFccccccrccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgcccccccFccccccccccFcccccccccccccccccccczqrwcxGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zqdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFccccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyGb -1 zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 +-1 zcdBoayccccccFFFcccccccccccgccccFcccccccccccccFcccccccccccccccucBccczqrwcsGaddyab 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGadmyab 0 0 -1 zcdBoayccccccFFFcccccccccccgcccccccccccccqccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFccccccrccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoaycccBcccsFFcccccccccccgccccccccccccccccccFcccccccccEccccccccccczqrwcsGaddyab 0 0 0 -1 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 zcdBoayccccccFFFcccccccccccgcccccccccccjccccccFcccccccccccccccccccczqrwcsladdyab zcdBoayccccccFFFcccccccccccccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBvayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccccccczqrwcsGaddyaz 0 -1 0 zcdBoayccccccFFFcccccccccccgccmccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 0 -1 0 0 -1 zcdBoayccccccFFFcccccccccclgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFccccuccccccgccBccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 zcdBoaycccqccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab +0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoaycoccccFFFcccccccccccgccccccccccccccccccFcEcccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczgrwcsGaddyab 0 0 0 0 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 -1 zcdBoayc -1 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccjccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcFcccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyxb -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 -1 -1 0 -1 -1 zcdBoayccccccFFFccccDccccccgccccccccccccccccccFccccteccccccfcccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddvab 0 zcdBoayccccccFFFccccccEccccgccccccccccccccccccFcocccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccccccczqrwcsGaddyab +zcdBoaCccccccFFFccccccEccccgccccccccccccccccccFcocccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoahccccccFFFcccccccccccgccccccccccccccccccFccccccccccccEccccccczqrwcsGaddyad zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccvcFFFcccccccccccgccccccccccccccccccFccyccccccccccccccccczqrwcsGaddynb 0 0 0 -1 -1 -1 zcdBoayc 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccchccFcccccccccccccccccccczqrwcsGaddyai 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zaccdaBa -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 0 -1 -1 0 0 0 0 0 -1 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 +-1 -1 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayqcccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgcccccccccjccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccckFcccccccccccccccccccczqrAcsGaddyab 0 zaccdaBa zcdBoayccccccFFFcccccccccccgccccccccccbccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwGcsGaddyab zcdBfayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccdcctFFFcccccccccccgcccccccccccccccGccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccjccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccccDccccccccFcccccccccccbcccczccczqrwcsuaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccEccccccczqrwcsGaddyab 0 0 zcdBoFyccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoayc 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab +zcdBoayccccccFFFcccccccccccmccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccqcccccccjccccccczqrwcsGaddyab -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccvccccccccccccccccczqrwcsGaddyab 0 -1 0 -1 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccyzqrwcsGaddyab 0 0 -1 zcdBoayccccccFFFcccecccccccgccccccccccccccccccFcccccCcccccccccccccczqrwcsGaddyab -1 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayc 0 0 0 0 -1 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGadyab -1 0 zcdBoaycccqccFFFcccccccccccgccccccccccccccccccFcccccclccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyaG -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab +0 0 0 0 -1 zcdBoayccccccFFFccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcHsGaddhab 0 zcdBoayccccccFFFcccccccccccgcccccckccccccccccCcFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccbccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccfcczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccjccccccccczqrwcsGaddyab zcdBoayccccccFFFccccccccccchccccFcccccccccccccFcccccccccccccccucBccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccicFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFccccccctcczgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccccmccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 0 zcdBoayccccccFFFccccccccccczgccccccccccccccccccFccccccccccoccccccccczqrwcsGaddyab 0 0 -1 zcdBoayccccccFFFcFcccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 -1 0 0 0 +zcdBEayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdByayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddpab -1 0 -1 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 -1 0 0 0 0 zcdBoayccccccFFocccccccccccgccccccccccccccccccFccccccccccccccccccczqrwcsGadwdyab 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccdccccccccccjcFcccccccccbcccccccccczqrwcsGaddyab 0 0 -1 zcdBoayccccccwFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGsddyab 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccxcccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 -1 -1 0 zcdBoaycccqccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayc zcdBoayccccccFFFcccccccccccgccccdcccccccccccccFcccccccccccccccccfcczqrwcsGaddyab zcdBoayccccccFFFccccpccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 0 bcdBoaycccccoFFFcccgcccccccgcccccccccccccccccFccccccczcccccccccccczqrwcsGaddyab -1 -1 0 0 +zcdBoayccccccFFFcccccccccccgcccccccccccccccccpFcccccccccccccccccccczqrwcsGaddyab 0 ctBoayccccccFFFccccccccccpgccccccccccccccccccFczcccccccccccccccccczqrwcsGaddyab 0 0 -1 0 zchdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoaymcccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddcab 0 -1 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccGcccaccccczqrwcsGaddyab zcdBoayccccccFFFBcccccccccccgccccccccccbccccccccFcccccccccccccccccccczqrwcsGaddyab -1 -1 zcdBoaycccccFFFcccccccccccgccccccccccccccccccFcccccccccccecccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccczcccccccccccccczqrwcsGaddyab zcdBoayccccccFFFccccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgcccccccccccccvcccccFcccccccccccccccccccczqrwcsGaddyaHb zcdBoayccccccFFFcccccccccccgcccccccccccccccccFccccccccccccccccccczqrwcsGaddyab zcdBoaycccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccCccccczqrwcsGaddyab zcdBoayc 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccccccctcccccFcccccccccccccccccccczqrwcsGaddyab -1 -1 0 -1 zcdBoaccccccFFFcccccccccccgccccccccccccccccccFcBccccccccvccccccccczqrwcsGaddyab zcdBoayccccccFFFccccAccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccccccccgccycccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoaycccccbFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccccccczqrwcsGaddyab 0 -1 -1 0 +zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcBccccccccvccccccccczqrwcsGaddyab -1 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccDccccccccczqrwcsGaddyab -1 -1 0 zcdBoayc 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccczccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 0 0 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 -1 -1 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccGcczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 0 0 0 0 0 -1 0 -1 zcdBoayccccccFFFgccccccccccgccccccccccccccccbcFcccccccccccccccccccczqrwdsGaddyab 0 zcdBoayccccccFFFcccccccccccgcccccccccccccccqccFcccccccccccccccccccczqrwcsGaddyab -1 -1 zcdBoayccccccFFFccccscccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab +-1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccEccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaqdyab zcdBoaycccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 0 -1 -1 zcdBoayccccccFFFcccccccocccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 -1 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zndBoayccccccFFFcccccczccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 -1 0 zcdBoayDcccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcjBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccmccccccccccczqrwcsGaddyab -1 0 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFnFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 -1 -1 -1 zcdBoayccccccFFFcccccccccccgcccccccccccHccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcfBoayccccccFFFcccccccccccgcccmcccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 +-1 0 zcdBoayccccctFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayc zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGamdyab zcdBoayc zcdBoayccccccFFFcccccccccccgcccccccccccciccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccFzqrwcsGaddyab 0 -1 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccccccccoccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccCcccccccccccccczqrwcsGaddyab -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccfcccccccccccccccFcccccccccccccccccccczqrwcsGadmyab 0 0 -1 0 zcdBoaycccBcccsFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFccccpccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 zcdBoayfcccccFFFcccccccccccgccccccccccccccccccFccccccccccccccccccccHqrwcsGaddyab 0 -1 0 0 zcdBoayc 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccwFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGsddyab -1 +-1 0 zcdBoayccccccFFFcccccccccccgcccccccccccccFcccacFccccaccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFccvccccccccgccccccccccccccccccFccwccCcscccccccccccczcqrwcsGaddyab 0 0 -1 zcdBcaycccdccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoaycccBcccsFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccBcccccFcccccccccccczcccccpczqrwcsGaddyab 0 -1 -1 -1 0 0 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccctqrwcsGaddyab -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoaycccccbFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccciccccccczqrwcsGaddyaq 0 0 0 0 zcdBoayccccccFFFccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwbsGaddyab 0 0 0 zcdBoayc zcdBoayHcccccFFFcccccccccccgcccccccccccnccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab +-1 0 -1 -1 zcdBoaycccAccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccHcccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayc -1 0 zcdBoafccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccckczqrwcsHaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zaccdaBa 0 zcdBoayccccccFFFccccccccccgccccccccccccccccccFcccpcccccccccccccccczqrwcsGaddyab 0 -1 0 zcdBoayccccccFFFcccccccccccgcccccccczcccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsrGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccocccccccccczqrwcsGaddyab 0 zcdBoaycccBcccsFFcccccccccccgccccccccccccccccccFcccccccccEccccccccccczqrwcsGaddyab -1 0 zcdBosyc 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccyccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 +0 -1 -1 0 0 zcdBoasccccgcFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zaccdaBa zcdBoayccccccFFFckcccccccccgcccccccccccgccccccFcccccdccccccccccfcczqrwcsGaddyab 0 -1 0 -1 0 0 0 zcdBoayccccccFFFccccccccccgccccccccccccccccccFccccccccccccGccccccczqrwcsGaddEyab -1 -1 0 -1 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccaccccczqrwcsGaddyab 0 0 0 0 zcdBoayccccccFfFcccccccccccgccccccccccccccccccFcccccccccocccctcqccczqrwcsGaddyab 0 0 -1 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccfcczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccckcccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcBccccccccvccccccccczqrwcsGaddyab 0 -1 0 0 zcdBoayccccccFFFccccccccccccgccccccccccccccczccFcccccccccccccccccccczqrwcsGaddyab +0 -1 0 0 0 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccciqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccgcccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccscccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyqb -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 -1 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccpccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccycccccccccFccccccccccccccFccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccycccFccccccccccccccBccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcacccccccccccccccpFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccocccgccccccccccucccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccFcccccccucccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccEcccccccccczqrwcsGaddyab zcdBoayccccccFFFccccccccbccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccGccccccczqrwcsGaddyab 0 zcdBoayccccccFFFccccccccecgccccccccqccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoayccccccFFFcccccccccccgcccccccccccccccccpFcccccccccccccccccccczqrwcsGaddyab -1 0 0 0 0 0 zcdBoayccecccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab +-1 -1 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayc 0 zcdBnayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccctFkFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFscccccccccccgccecccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccckccccccccccCcFcccccccccccccccccccczqrwcsGaddyab 0 zaccdaBa -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 -1 0 -1 0 -1 0 zcdBoayc 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcBccccccccvccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 -1 zcdxoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccclgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFccccccEccccgcccccccccccccccccFcocccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwCsGaddyab -1 +-1 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 -1 0 -1 0 0 0 -1 pcdBoayccccccFFFcccccccccccgccceccccccccccccccFcBccccccccvccccccctczqrfcsfaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zaccdaBa 0 0 0 zcdBoaya -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 -1 0 0 0 0 0 0 zcdBoayc zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFccccccccccgcccccccccccccccccFccccccccccccGccccccczqrwcsGaiEdEyab -1 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccccccccnqrwcsGaddyab 0 zcdBoasccccccFFFccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayc zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab +0 0 0 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoayccccccFFFcccccccccccgccccacccccccccccccFccyccccccccrcccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGgaddgab 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcBccccccccvccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFiccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoaycpccccFFFcccccccccccgccccBcccccccccccccFccccfccccccccccccccczqrwcsGiddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccqccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoawc 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 -1 zcBoayccccccFFFcccccccccccgccccccccycccjcccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccczcccccccccccccczqrwcsGaddyab zcdBoayccccccFFFccccccccbccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBobayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddya zcdBoayccccccFFFcccccccccccgcccccccccccccccccczccccccccccCccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccycccFccccccccccccccBccccczqrwcsGaddyab +0 0 -1 -1 -1 zcdBoayccccccFFFcccccccwcccgccccccccccccccccccFcccccccccccccccccccczqEwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoaycccccFFFcccccccccccgcccccccccccccccclcFcccccccccccccccCccccczqrwcsGaddyab -1 0 -1 -1 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayc 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwCsGaddyab 0 -1 0 0 0 0 zchBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccwcccccccccczqrwcsGaddyab -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccocccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgczcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccscccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 -1 azcdBoayccccccFFFcccccccccccgccccacccccccccccccFccyccccccccrcccccccczqrocsGlddya -1 -1 +0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoayccccccFFFcccccczccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccvcccccccccccccccccccczqrwcsGaddyab -1 -1 0 zcdBoayccccccFFFcccccccocccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccvcccccccgccccccccccccccccccFccccccaccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccCcccccccccccccczqrwcsGaddyab -1 0 0 0 0 0 0 zcdBoayccccccFFFcFcccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccdzqrwcsGaddyab -1 0 -1 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcfcccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 -1 zcdBoayccccccFFFcccceccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccsccccccccccccccczqrwcsGaddyab -1 +zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccckccccccccccCcFcccccccccccccccccccczqrwcsGaddyab zcdBoayccctccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccDccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccFcgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccccccccgcccccccccccccccwccFcccccccccccccccccccczqrwcsGaddyab zcdBAayccccccFFFcccccccccccgcccccccccccEccccccFccccccccccccccccbccczqrwcsGaddyab 0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 zcdBoayccccccFFFccccccoccccgcccccccctcccccccccFcccccccccwcccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayc -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFccoccccccccgccccccccycccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayc -1 0 zcdBqayccccccFFFcccccccccccgcccAccccccccccccccFcccccccccccccccccccczqwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGamdyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccccccEcczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab +zcdBoaycccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 zcdBoByccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFccccccccccccccccccccccccccchccFcccccccacccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 zcdBoayccccccFFFccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccccccccHccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 -1 0 0 -1 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwctGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccccccczqrwcsGaddyab -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccccccccccccccczqrucsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccBcccccFcccccccccccczccccccczqrwcsGaddyab 0 -1 zcdBoayccccccFFFcccccccccccgcccccccccccccccccpFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFccccccccsccgccccccccccccccccccFcccccccccccccccccccczqricsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgcccccccFccccccccccFcccccccwccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrccsxaddyab zcdBvayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccccccczqrwcsGaddyab 0 +zcdBoayc zcdBoayccccccFFFcccccccccccgccDcccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccEcgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zaccdaBa 0 -1 zcdBoayccccccFFFcccccccccccgccccwcccccccccccccFvcoccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccFzqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayc zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccoccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsuaddyab -1 0 0 -1 -1 0 zcdBoayccccccFFFcccccccccccgcccccccccccccoccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccxcFFFcccccccccccgccccccccccccccccccFcccccccccccccccccckczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBosyccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccycccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyac zcdBoayccccccFFFcccccccccccgccccccccccccccccmcFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccHcczqrwcsGaddyab zcvBoayccccccFFFcccccccccccgccccccccccccccccccFcBccccccccvccccccccczqrwcsGaddyab 0 +0 -1 0 zcdBoayccccccFFFccccccccccgcccccccccccccccccFFccccccccccccccccccczqrwEsGaddyab 0 zcdBoayccccccFFFcccccczccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoayccccccFDFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoayccccccFFFccccoccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccycFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayc 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccpcccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoaycccGccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBFayccccccFFFcccccccccccgcccccccccccccccuccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccccccccccccpFcccccccccccccccccccczqrwcsGaddyab 0 -1 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccBccccccccccccccczqrwcsGaddyab zcdBoayc -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 zcdBoayfcccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgcccccccccccccccoccFcccccccccccccccpcccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczsrwcsGaddyab zcdBoayccccccFFFcccccccccFcgccccccccccccccccccFccccccccccccccccccczqrwcsGaddyab -1 +zcdBoayccccccFFFcccccccccccgccccccccccccccccncFccccccccccccccccDccczqrwcsGadcyab zcdBoaycccqccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccccccczqrwcsGaddyab 0 -1 0 zcdBoayccccccFFFcccccccccccglcccccccccccccccccFccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcGcccccccccgccccccccccrcccccccFcccccccccccccccccccczqrwcsGadbyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccwcccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 -1 zcdBoayccccccFFFcccccccccccgcccsccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 zcdBoayccccccFFFccccpccccccgcccccccCccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 -1 0 zcdBoayc 0 -1 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccHcccccgccccccccccccccccccFccccccccccccDccccccczqrwcsGaddyab 0 -1 -1 0 -1 0 -1 -1 zcdBoayccccccFFFcccccccccclgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 +-1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccacccccccczqrwcsGaddyab zcdBoayccccccFFFccccccccbccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwchGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcncccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFccccuccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccoccccgcccccccctcccccccccFcccccccccwcccccccccczqxwcsGaddyab 0 0 -1 -1 zcdBoayDccccccFFFccuccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccycccccccFccBcccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFccccccccsccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 0 0 -1 zcdBoayccccccFFFccccccccccgccccccccccccccccccFchcccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccvcccgccccccccccccccccccFcccccccccccccccccccczqrwcwGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 +-1 cdBoayccccccFFFcciccccccclgccccccccccccccccccFcccccccccccccccccccczorwcsGaddywb zcdBoayccccccFFFcccccccccccgccccccccccccccctccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFccccpccccccgccccHcccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcncccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccCcccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccicccccccEzqrwcsGadyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccCzqrwcsGaddyab -1 zcdBoayccccccFFFccccccccbccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccCcccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccczcccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoayoccccFFFFvccccccccccgccccccccccccccccccFccccccccccccccjccccczqrwjsGaddyab 0 zcdBoayccccccFFFcccciccccccgccccccccccccccccccFccccccccccccccaccccczqrwcsGaddyab 0 0 0 0 0 zcdBoaycccAccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccucBccczqrwcsGaddyab 0 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaEdyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccyccccctfccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBbayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 +zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 -1 0 zcdBoaycccccFFFcccccccccccgccccccccccccccccccFccccccccccsccccccccczqrwcsGaddyab -1 0 0 -1 zcdBoayccccccFFFcccccccccclcgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 -1 0 0 0 -1 0 0 -1 -1 0 zcdBoayccccccFFFcccccczccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFccccccccccgccccccccccccccccccFcccpcccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgcccccccccccccuccccFccccccccccccccccccccpqrwcsGaddyab zcdBoayccccccFFFccccuccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 abcdefghijklmnopqrstuvwxyzABCDEFGHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 0 -1 -1 -1 -1 -1 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccrcczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccaccccczqrwcsGaddyab -1 +zcdBoayccccccFFFcccscccccccgccccccccccccmcccccFccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwciGaddyab 0 zcdBoayccccccFFFcGccccEcccvAgccccccccccccccccccFcocccccccccccccccccczqrwcsGaddyab 0 zcdBoayc zcnBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccycccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccccccczqrwcsGaddyab 0 0 0 -1 zcdBoayccccccFFFcccvcccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcBccccccccvccccccccczqrwcsGaddyab zcdBoaycuccccFFFcccgcccccccgccccccccccccccccccFcBccccccccvccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgHcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccccccccccccFFccccqccccccccccccgcczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccEcgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcBccccccccvccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 -1 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrCwcsGaddyab 0 -1 0 0 zcdBoayccccccFFFccccccccccHgccccccccccccccccccFcccccczcccccccccccccczqrwcsGaddyab -1 0 zcdBoayc +zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcjdBoayccccccFFFccccccccsccgccccccccccccccccccFccccccccccccccccccczqrwcsGaddyab zcdBoayccDcccFFFcccccccccccgcccccccmccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoaycccacFFFccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccgccccczqrwcGaddyab -1 0 zcdBoayccccccFFFccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoaycccrccFFFcccccccccccgccccccccccccclccccFccccccccccjccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccccccccccccFccccccccccccccccccDczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccccccctcccccFcccccccccccccccccccczqrwcsGaddyab -1 0 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccicccccccEzqrwcsGadyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 0 0 zcdBoayc -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFocccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 +-1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaDdyab -1 0 -1 -1 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccwcccccccccczqrwcsGaddyab 0 zcdBoayc -1 -1 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccjccccccccczqrwcsGaddyab 0 -1 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccBcccccFcccccrcccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcfcccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFeccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccacccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 zcdBoaycccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 -1 0 zcdBoayccccccFtFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccycccccccccFcccccccccccccccccccczqrwcsGaddyab +zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccdcczqrwcsGaddyab -1 0 0 0 0 zcdBoayccccccFFFcFcccccccccgccccccccccccccccccFcccccccccccccncccccczqrwcsGaddyab zcdBoayccccccFFFcFcccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccaccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccjccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgcccGccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccycFFFcccvcccccccgccccccccccccccccccFccctcccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 -1 0 -1 0 -1 -1 0 0 0 0 zcdBoayccccccFFFcccqcccccccgccccccccccccccccccFcccccccccpcccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFccccccxccccgpcccccccccccccccccFccccccccccHccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccchcccczqrwcsGadyab -1 zcdBoayccccccFFFccccccccccgccccccccccccccccccFFccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoaycccdcccFFFcccccccccccgccccccccccccccccccFcccccccccccacccccccczqrwcsGaddyab 0 +-1 0 -1 0 0 zcdBoayccccxcFFFcccccccccccgccccccccccccAcycccFccccccccccccccBjcrczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccucccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoaycccdcccFFFcccccccccccgccccccccccccccccccFcccccccccccacccccccczqrwcsGaddyab 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccscccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 -1 0 0 -1 0 -1 0 0 zcdBoayccccccFFFcccccccccccgcccccccFccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayc zcdBoayccccctFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdAoayccccccFFFccccdccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 -1 zcdBoayccccccFFFcccccccccccgcccccccccncccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 -1 diff --git a/avida-core/tests/set_random_seed2/expected/data/parasites1a.dat b/avida-core/tests/set_random_seed2/expected/data/parasites1a.dat new file mode 100644 index 0000000000..9424d7bd83 --- /dev/null +++ b/avida-core/tests/set_random_seed2/expected/data/parasites1a.dat @@ -0,0 +1,6 @@ +# Avida Dominant Parasite Data +# Mon Sep 16 14:52:23 2024 +# 1: Update +# 2: Number of Extant Parasites + +800 0 diff --git a/avida-core/tests/set_random_seed2/expected/data/parasites1b.dat b/avida-core/tests/set_random_seed2/expected/data/parasites1b.dat new file mode 100644 index 0000000000..1409e53f81 --- /dev/null +++ b/avida-core/tests/set_random_seed2/expected/data/parasites1b.dat @@ -0,0 +1,6 @@ +# Avida Dominant Parasite Data +# Mon Sep 16 14:52:34 2024 +# 1: Update +# 2: Number of Extant Parasites + +1000 867 diff --git a/avida-core/tests/set_random_seed2/expected/data/parasites2.grid b/avida-core/tests/set_random_seed2/expected/data/parasites2.grid new file mode 100644 index 0000000000..f197632578 --- /dev/null +++ b/avida-core/tests/set_random_seed2/expected/data/parasites2.grid @@ -0,0 +1,50 @@ +0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccczFFFcccccccccccgccccccccccccccccccFccccccccccjccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczDrwcsGaddyab -1 0 0 0 zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccecccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccFcccccccccccccczqrwcsGafdyab zcdBoayccccccFFFcccccccccccgcccccccCccccccccccFccccccccccccctgcccccczfqrwcsGEddyab 0 0 -1 -1 zcdBoajccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccccccczqrwcsGaddyab 0 0 0 0 -1 0 0 0 -1 0 0 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccbcccccccccccczqrwcsGaddyab +zcdBoaycctcccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFdFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccBcccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczvrwcsGaddyb 0 zcdBoayccccccFFFcccccccccccgccccccccccccccEcccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFcccccccccccgccccccccccccccccccFccscccccccccccccccccczqrwcsGaddyab -1 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 -1 zcdBoayccccccFFFcccccccccccgccccctccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 cdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 +0 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccaccccccccccccccBzqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccckccccccccqcccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccwcFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcbsGkddyab zcdBoayccccccFFFcccccccccccgcccccccccccccctcccFcmcccccccccccccccccczqrwcsGaddyab 0 -1 0 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccocccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccbcccccccgccccccccccccccccccFccccccccsccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 0 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoaycDccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab +zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccFcccccccccccccccczqrwcsGaddyab zcdBayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 0 0 0 0 0 0 0 0 0 zcdBoayccccccCFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccyccccccFcccccccccccccccccccczqrwcsGadwyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 azcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccGcrccccczqrwcsGaddya zcdBoayccccccFFFcccccccccccgcccccccccccccctcccFcmcccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcdccccccccgcccccccccccccccccFcccctccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccAccccEcgcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab +0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFccccccqccccgBcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccckcccccccccccccczqrwcsGpaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccvzqrwcsGaddyab 0 zcdBoayccccccFFFccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccwccccccccccccccFcccccccbcccccFccccccczqrwcsGaddyab 0 0 0 0 -1 zcdBoaycccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoaoccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 -1 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab +0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccctccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccczcccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 -1 zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccccmcxccccccccczqrwcsGaddyab 0 -1 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccHcczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoayccccccFFFcccccccccccgcccccccccccHccccccFcccccccccccccccwcccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 zcdBoayccccccFFFcAcccccccccgccccccccccccccccccFcccccccccacccccccccczqrwcsGaddyao zcdBoayccccccFFFccccccccccgccccccccccccccccccFccccckcccccccccccccczqrwcsGaddyab 0 -1 0 +zcdBoycBcccccFFFcccccccccccgcccBccccccccccccccFccccccBccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccccccccccccGFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 0 zcdBoayccccccFFFccccccGccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayc -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccHFcccccccccccccczqrwcsxaddyab -1 zcdBoiyccccccFFFcccccccccccgcccccccccccccccoccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayc 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 zcdBoayccccccFFFcccccccccccgcccccccCccccccccccFcccccccccccccccccccczqrwcsGEddyab -1 -1 0 zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccFcccccccccccczqrgcsGaddyab 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccckcccccccccccccczqrwcsGpaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGkddyab -1 +zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoasccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccczcccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccBcccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccDcccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqwcsGaddyab 0 0 0 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccncccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccccccchzqrwcsGaddyab 0 0 +zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccpcccacccFcccvccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccccccccezqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccsccccccccccczqrwcsGaddyab 0 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgcccccccCccctccccccFcccccccccccccccccccczqrwcsGEdyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccnccccccccccczqrwcsGaddyab -1 zcdBoayccccidFFFcccccccciccgccccccccacccccccccFcwcccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccciccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoaeyccccccFFFcccccHchccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaudyab 0 zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccccccccccccccczqrwcsGamdyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcwBoayccccccFFFccccccpccccgcccccccccccccccccgFcccccccciccccccccccczqrwcsGaddyab 0 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoaycccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoaycccsccFFFcccccccccccgccccccccccccccccccFcccccccwccccccccctczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyar zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcbcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 +0 0 0 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccsccccccccccczqrwcsGaddyab zcdBoayccccccFFFpccccccccccgwccccccccccccccccFFcccccckccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 0 zcdBoayccccccFbFcccccccccccgccccccccccccccccccFccckcccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoaaccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccncccccccccccccccczqrwcsGaddyab 0 zcdBoGyccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 0 zcdBoayccccccFFFccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccDcccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBosaycccccFFFcccccccccccgcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsfaddyab 0 -1 0 -1 +-1 zcdBoayccccccFFFccqccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoaycctcccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccscccccccccccccccccczqrwcsGaddyab -1 0 0 0 -1 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFcccccccccccgccccccccccccccccccFccscccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFuFcccccccccccgccccccccccccccccccFcccmccccccccccccccccczqrwcsGaddyab zcdBoayc 0 0 0 0 0 zcdBoayccczccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayc zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 ecdBoayccccccFFFcccccccscccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 -1 zcdBoayccccccFFFccccccccBcccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 +0 zcdsoayccccccFFFcccccgcccccgccccccccccpcccacccFcccvccccccccccccccccczqrwcsGaddyab 0 -1 -1 0 zcdBoasccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFccccccccccclccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccacccFFFcccccccccccgccccccccccccccccccFccccccccccccczcccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 -1 0 0 zcdBoayccccccFFFccccuccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 zcdBoayccccccFFncccccccoccccgccccccccccccccccccFccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccjcccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccjccccccccccccnFcccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoayccccccFFFcccccccccccgcvccccccccccccccccFccccccbcccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccBcFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgcccccccCccctccccccFcccccccccccccccccccczqrwcsGEdyab 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccpcccacccFcccvccccccccccccccccczqrwcsGaddyab -1 +zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccwcccczqrwcsGaddyab 0 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 zcdBoayc 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgcccccccccccsccccccFcccccccccccccjcccccczqrwcsGaddyab -1 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddqab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccccccccgccEcccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayc zcEdBoayccccccFFFccuccccccccgcccccccccccsccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccdcFFFcccccccccccgcccccccccjccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFdFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 -1 zcdBoayccccccFFFccccccccGccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBFayc 0 0 0 0 0 +-1 zcdBoayccccccFbFcccccccccccgccccccccccccccccccFccckcccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFccccccctcccgcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFdFcccccccccccgccccccckccccccccccFcccccccccccccccccccczqrGcsGaddyab -1 0 zcdBoaycccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 0 zcdBoayccccccFFFctcccccccccgccccccccccccccccccscccccccccccccccccccczqrwcsGaddyab 0 CcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayc 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczorwcsGaddyab 0 0 zcdBoayccccccFFecccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayc 0 zcdByayccccccFFFccccccmccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFccccuccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 -1 0 -1 zcdBvGycbccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgcccccccpccccccccccFccccccccbccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgcccccccbccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccfcccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFccccccccccqgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab +0 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFEFcccccccccccgccccccccccccccccciFccccccBccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFdFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrFcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccccccccgcccccccccccccccEccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccCcccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccwcFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccccccCccccccccczqrwcsGaddyab 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoaycccccaFFFcccccscccccgccccccccccccccEccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 zcdBoayc 0 0 zcdBoayc zcdBoaycccFccFFFccccccccqccgccccccccccccccccccFcccccccccccccccccccczqrwcsGvaddyab -1 +-1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGafdyab 0 0 zcdBoayccccccFFFcccccccccccgtccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 zcdBoayccccccFFFcccccccchccgccccccccccccccccccFcncccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccciccccgccccccccccccccccccFcccecccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab azkdBoaycccrccFFFcccccccccccgccccccccccccccecccFcccccccccccccccccccczqrwcsGaddya zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 0 ocdBoayccccccFFFcctccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFccccccaccccgccccccccccccccccccFccccccccccccmccccccczqrwcsGaddyab 0 zcdBoayc zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccccccccccccccczqrwcsGamdyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 0 -1 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBosaycccccFFFcccccccccccgcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab +0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccpcccccccccccccccccccczqwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 zcdBoayc 0 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 0 zcdBoayccccccFFFcccccccccccgccccctccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccocccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccbcccccccccccczqrwcsGaddyab 0 0 -1 0 0 0 0 zcdBoiyccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoayccccccFFFccccccccccgcccccBccccccccccccFcccccccccccccccccccczqrwceGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccwcccczqrwcsGaddyab +0 -1 zcdBoayccccccCFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccclccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccccccccezqrwcsGaddyab 0 zcdBosaycccccFFFcccccccccccgcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 -1 0 zcdBoGyccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 -1 -1 zcdzoayccccccFFFccccccccccgccccccccccccccccccFccccccccccccccncccccczqrwcsGaddyab 0 0 0 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccclqrwcsGaddyab zcdBoayccccccFFFcccccacccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFccccccHccccgcccccccccccccccEccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 0 0 0 0 -1 zcdBoayc 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab +zcxBoayccccccFFFcccccccccccgcccccccccccccccGccFcccccccccccccccccccczqrwcsGaddyab -1 0 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccFcccccccccccccczqrwcsGafdyab -1 zcdBoayccccccFFFcccccccccpcgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayc 0 0 0 0 zcdBoayc 0 0 0 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccchgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccBcccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGadHyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccncccdcccccccccccczqrwcsGaddyab 0 zcdBoayccccccFxFcccccccccAcgccccccccccccccccccFccccccccccccccccccccpqrwcsGaddyab zcdBoayccccccFFFccccccccczcgccccccccccccccccccFcccccccccccccccccccczqrwcszaddyab -1 0 zcdBoayccccccFFFccuccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFdFccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoaycccsccFFFcccccccccccgccccccccccccccccccFcccccccwccccccccccczqrwcsGaddyab 0 0 -1 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccEcccFccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccccccczqrwcsGaddyab -1 zcdBoadccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 -1 +0 0 zcdBoayc 0 0 0 0 -1 zcdBoayccccccFFFcccccccccccgccccBcccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccHcccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGiddyab zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccscccccccccccccccccczqrwcsGaddyab 0 0 0 0 0 0 zcdcBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBeayccccccFFFcccccccccccgccccccccccccccccccFcccccGcccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoaycccctcFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayc 0 0 -1 -1 zcdBoaycccbccFFFcccccccccccgccccccccccccccccccFccccckcccccccccccccczqrwcsGaddyab -1 zcdBtaycccccuFFFcccccccccccgccccccccccccwcccccFccccccccccccccccgccczqrwcsGaddyab -1 0 0 0 0 -1 zcdBoaycccccFFFcccccccccfcgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab +0 0 zcdBoayccccccFFFcccccccccccgeccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccrcFFFcccccccccccdccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccDcccccczqrwcsGaddyab 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBopayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFDccccccccccgcccccciccccccBccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 0 zcdBoayc 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccctccccccccccczqrwcsGaddyab -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFjccccccccccccccDcccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 -1 zcdBoayccccidFFFcccccccciccgccccccccacccccccccFcwcccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccccccccccccccczqrwcsGamdyab zcdBoayccccccFFFcccccccccccgcccccccCccctccccccFcccccccccccccccccccczqrwcsGEdyab -1 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccDccccccczqrwcsGaddyab +zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccjzqrwcsGaddyab 0 zcdBoayccccccFFFccccuccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 zcdBoayccccccFFFccccccccccgtcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccBccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 zcdByayccccccFFFccccccccccgccccccccccccccccciFcccccccccccccccccccczqrwcsGaddyab 0 0 0 -1 -1 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoaeyccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaudyab -1 0 0 0 0 -1 zcdBoaycccccEFyFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 -1 0 0 0 -1 -1 0 zcdBoayccccmcFFFcccccccccccgcHccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccpcccacccFcccccccccccccccccccczqrwcsGaddyab zcdBoaycccccHFFFcccccccccccgccccccccccccccccccFccccccBccccccccccccczqrwcsGaddyab 0 +zcdBoayccccccFFFcccccccccccgcccccfccccccccccccFcccccccccccccccccccczqrwksGaddyaC 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayc zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoaycccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccczcgFcccccccciccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFccFccccccccgcccccccccccBccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zjdBoayccccccFFFcccccccccccgcccccccccccccccxccFccccccccccczcccccccczqrwcsGaddyab 0 0 0 0 0 -1 0 zcdBoayc zcdBoayccccccFFFcccccccccccgccccccccccccctccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayc zcdpoayccccccFFFccccckcccccgcccccccccccccccccaFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccGccccccccccciicczqrwcsGaddyab 0 0 0 0 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoAayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 azcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccGcrccccczqrwcsGaddya zcdBoaycctcccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccCcccFFFcccccccccccgccccccccccccccccccFcccccccccccccocccccczqrwcsGaddyab zcdBoayc 0 0 +-1 0 0 0 -1 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccccccccglccccccccccmccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayc 0 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddypbF zcdBoayccccccFFFcccccccccccgcccccccccccxcccccccFcccccccccccccccctccczqrtcsGaddyab -1 zcdBoayccccckFFFcccccccccccgccccccccccccccccccFcccccccccccccbcccccczqrwcsGaddyab -1 0 0 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFccdccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFccxccccccccgccccccccccccccccccFccccccccclcccccccccczqrwcsGaddyab 0 -1 0 0 0 zcdBoayc 0 0 zcdBoayccccccFFFccccvcccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccjzqrwcsGatdyab 0 0 +zcdBoayccccccFFFccccccccccpgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zAcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccciccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFuFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccscccFFFccdccccccccgccccccccccccEcccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoGyccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFdFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccfccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoaycBcccccFFFcccccccccccgcccBccccccccccccccFccccccBccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccckccccccccccccczqrwcsGaddyab zcdBoayc -1 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccccccchzqrwcsGaddyab 0 zcdBoayccccccFFFccccccctcccgcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccccmcxccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccycccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccHcFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgcccccyccccccccccccFccccccccchcccccccccczqrwcsGaddyb -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcocccccccccccccccccczqrwcsGkddyab 0 zcdBoaycccctcFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccmccccccccccFcccccccccccccccccccczqrwcsGaddyab +0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccpccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccccccccccccccuzqrwcsGaddyab zcdBoayc zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccccccccznrvcsGaddyab 0 0 zcdBoayccccccFFFctcccccccccgcfccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayc 0 0 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 -1 zcdBoayc zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccccccccccEccFcccccccccccccccccccczqrwcsGaddyzb zcdBoayccCcccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccoccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFhccccccccccgccccccccccccccccccFcccscccccccccccccccczqrwcsGadqdyab 0 0 zcdBoaycccsccFFFcccccccccccgccccccccccccccccccFcccccccwccccccccccczqrocsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccciccccccFccccccccccccccccccggzqhwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccccccccccBccFcccccccccccccccccccczqrwcsGaddyab +-1 0 zbcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccgcccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 pcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccgccccccccccccccczqrwcsGaddyab 0 0 0 -1 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccxcccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccjcccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccclccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccccccscccccccczqrwcsGafdyab zcdBoaycuccccFFFccccuccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyac -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccBFFcccccccccccgccccccccccccccccccFccjccccccccccccccccczqrwcsGaddyab -1 -1 zcdBoaycBcccccFFFcccccccccccgcccBccccccccccccccFccccccBccrcccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGadwdyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 -1 +-1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccFcczqrwcsGaddyab zFdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccccccccgcccccccccccmccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayc 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccjccccccccchccccccczvrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFdFcccccccccCcgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 -1 zcdBoayccccccFFFccccccccccEcgcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcskaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccccccccezqrwcsGaddyab zcdBoayccCcccFFFcccccccccccgccccccccccccccccccFcccccccccccccocccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgcccccccbBcccocccccFcccccccccccccccccccczqiwcsGaddyab 0 ocdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccccccccccccccczqrwcscaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqwcsuaddyab +0 0 -1 0 -1 zcdBoGyccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccDdFFFcccccccciccgccccccccacccccccccFcwccccccccDccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 acdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccccccccccccccczqrwocsGaddyab zcdBoaycctcccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccbccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 -1 -1 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcncccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 -1 -1 0 0 zcdBoayccccccFFFccccuccccccgccccccccccccccccccFcccccccccccccccccccczqrwcpGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcckccccccccccccccccczrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccccccccctcccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccccmcxccccccccczqrwcsGaddyab 0 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccBccccccccccccczqrwcsGaddyab 0 +zcdBopayccccccFFFcccccccccccgcccccccccccccccwccFcccccccccccccccccBcczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccwcccczqrwcsGaddyab 0 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 -1 0 zcdBoayccccccFFFcccccccccccgcccccccccccccccccgFcccccccciccccccccccczqrwcsGaddyab 0 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoycBcccccFFFcccccccccccgcccBccccccccccccccFccccccBccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccjcccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFccFccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccwccccczqrwusGaddyab -1 -1 0 -1 zcdBoycBcccccFFFcccccccccccgcccBccccccccccccccFccccccBcccccccccccczqrwcsGaddyab -1 0 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddpab -1 0 -1 hcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 -1 zcdBoayccccccFFFccccccccccpgccccccccccccccccccFccccccccccceccccGccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab +-1 zcdBoayccccccFFFchcccccccccgccccccccccccccccbccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 -1 0 -1 0 -1 0 zcdBoayc -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayc zcdBoayc zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoaycBcccccFFFcGcccccccccgcccBccccccccccccccFccccccBccccccccccbcczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccocccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdpoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoaycAcccccFFFcccccccctccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccrcccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsoaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccicccccccccccccccccccczqrwmsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccpcvcacccFcccccccccccccccccccczqrwcsGaddyb 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccjccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 +zcdBoaycccaccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFctcccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 0 zcdBoayccccccFFFcccccccccccgccicccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFAFcccccccccccgccccccccccccccccccFcccccccgcccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccqcccccccFccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoaycccEccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccccccccgcccccccccccccccEccFcccccccccccccccccccczqrwcsGaddyab zcdBoaycccccckFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccecccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBopayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFmFcccccccccccgcccczcccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccccccczqrwcsGaddyab -1 0 0 0 zcdBoayccccccFFFcccccccccccgcccccccccHccccccccFcccccccccccccccccccczqrncsGaddyab 0 0 -1 0 0 zcdBoayccccccFFFcccccccccccgccucccccctccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 -1 0 +0 0 -1 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcdccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccHczqrwcsGaddyab 0 0 0 zcdBoGyccccccFFFcccccccccccgccccccccccccccccvcFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 0 -1 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcfsGaddyab zcdBoayccccccFFFcccccccccccgccAcccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccvccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccCcccccccczqrwcsGaddyab zcdBoayccccccFFFccdccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayc +0 zcdBoayccccccFFFcccccccccccCcicccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayqcccccFFFcccccccccccgcccccccccccccccccGFcccccccccccccccccccczqrwcsGaddyab zcdBoanccccccFFFcccccccccccgccccccccccccccccccFccccccccsccccccccccczqrwcsGaddyab zcdBoayccccckFFFcccccccccccgcccccccccccccjccccFcccccccccccccbcccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccjcccccczqrwcsGaddyab 0 0 zcdBoayccDcccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoaycAcccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayc zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFiFccccccccccgccccccccccccccccccFccccccccccxycccccccczqrwcsGaddyeb zcdBoayccccccFFFccwcccccccccgccccccscccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcsBoayccccccFFFcccccccccccgccccccccccccccccccFccccccnccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccAcccccccccccccccczqrwcsGaddyab zcdBoayc zcdBoayccccccFFFccccccccvccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgcccccccccccccccccjcFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoanccccccFFFccccccchccccgccccccccccdcccccccFccccccccccccccvccccczqrwcsGaddyab -1 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccEcccccgccccccccccccccccccFcccccccbcccccccccccczqrwcsGaddyab 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 +zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 -1 zcdBoayccccccFFFcccccccccccgcccccccccccccccccgFcccccccciccccccccccczqrwcsGaddyab 0 0 -1 -1 0 zcdBoayccccccFFFcccccccccccgccccccHcccccccccccFccbccccpcccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccBcccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBpaycccccoFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFwccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayFccccrFFFcccccEcccccgccccccccccccccccccFcccccccbcccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoaycccccwFFFcccccccccccgccccccccccccccccccFcccccycccccccccccccczqrwcsGaddyab -1 zcdBoazyccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyub zcdBoayccccccFFFcccccccccpcgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 -1 zcdBoayc 0 zcdBoayccccccFbFcccccccccccgccccccccccccccccceFccckcccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccyzqrwcsGaddyab 0 zcdooaycAcccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccceccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccjcccFcccccckccccccccccccczqrwcsGaddyaH zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccAcccccccccccccccczqrwcsGaddyab -1 +0 zcdBoayccpccccFFFcccccccccccgcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 0 zcdBoayccccccFFFcccccccccccgccccBccccBccccccccFccccccccccjccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccEcccccccccczqrwcsaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccccccccpqrwcsGaddyab 0 0 -1 zcdBoayccccccFFFccccccccccBgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 0 -1 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccecccccdcccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccecccccccccccccccczqrwcsGaddyab 0 0 0 0 0 -1 0 -1 -1 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcfccccccccccccccccFcccccccccccccxcccccczqrwcsGaddyab +zcdBoayccccccFFFccccccccccpgccccccccccccccccccFcccccccccccecccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 zcdBoayccccccFFFcccccccccccgcccccccccDccccccbccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 zcdBoayccccccFFFcccccccccccgcccccccccccccqcccFccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcdccccccccgccccccccccccccccccFcccctccccccccccccccczqrwcsGaddyab zcdBoaycccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayc zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 -1 0 zcdBoayccccccFFFcccBcccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccCcccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFdcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddqab zcdBoayccccccFFFcccccccccccgccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFncccccccccccgccccpcccccccccccccFccccccccnccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddmab 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccckcccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccccccccccccAFcccccccccccccccccycczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 -1 0 0 +0 0 0 0 0 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayc -1 -1 0 -1 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccocccccccccccccccczqrwcsGaddyab -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccpcccacccFcccvccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 0 -1 0 -1 fcdBoayccccccFFFcccicccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayc 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyai zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccczFFFcccccccccccgccccccccccccccccccFccccccccccjccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccycccccFccccccccccccccccccczqrwcsGaddyab -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccbccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFuFcccccccccccgccccccccccccccccccFcccmccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccccccsccccccFcccccccccccccjcccccczqrwckGaddyab +zcdBoayccDuccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccchccgccccccccccccccccccFcncccccccccccccccccczqrwcsGaddyb 0 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccEccccczqrwcsGaddyab 0 zcdBoayccceccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccEcccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccbcccccczqrwcsGaddyab 0 zcdBoaaccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFccccccDcccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFdFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqEwcsGaddyab -1 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccciqrwcsGaddyab 0 zcdBoaycccccckFFcccccccccccgccccccccccccccccccFcccccocccccccccccccczqrwcsGaddyab 0 -1 0 0 0 0 zcdBAayccccccFFFcccccccccccgcccccctcccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayzcccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 +0 zcdBoayccccccFFFcccccccccccgcccccHccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccDcccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyyb 0 -1 zcdBoayccccccFFFcccccccccccgccccccccecccccccccFccccccccccccccccccccizqrwcsGaddyab 0 0 0 0 0 -1 0 -1 -1 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayc 0 EcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccctcccccccccccccczqrwcsGaddyab -1 0 -1 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccciccgccccccccccccccccccFcwcccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczirwcsGaddyab 0 -1 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccocccccccccccccccczqrwcsGaddyab 0 +zcdBoayccccccFFFccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccccvccccczqrwcsGaddyab fcdBoayccccccFdFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccocccccccccccccczqrwcsGaddyab -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccjccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgcccccccccEcccccccccFcccccccccccccDccccczurwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgcccccccCccctccccccFcccccccccccccccccccczqrwcsGEdyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccccccccccBccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 -1 0 zcdBoayccccccFFFcccccccccccgcccccccceccAccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayc -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBopayccccccFFFcccccceccccgcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoaycccccaFFFcccccccccccgccccccccccccccEccFcccccccccccccccccccczqrwcsGaddyab 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 +0 -1 0 0 0 zcdBoayccccccFFFccccvcccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccmccccccccccccccczqrwcszaddyab zcdBoayc 0 0 0 rcdBoayccCcccFFFcccccccccccgccccccccccccccbcccFcccccccccccccccccccczqrwcsGaddFab 0 zcdBoayccccccFFFccccccccccgccccccccccccccccccFcccccccccccccccccccczqiwcsGaddyab zcdBoGycccccccFFcccccccccccgccccAcccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFdFcccccccccccgcchcccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 0 0 zcdBoayccccccFFFccdccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgcccccccccccccctcccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 -1 -1 -1 lzcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccccccscccccccczqrwcsGafdyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccccccccgcccccccccccccccccclcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFchcccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccccccccocccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFinycccccwcgcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccbccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 +zcdBoaycccsccFFFcccccccccccgccccccccccccccccccFcccccccwccccccccccczqrwcsGaddyab 0 0 0 -1 -1 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccnccccccccccccczqrwcsGaddyab 0 -1 -1 0 0 zcdBoayc zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 -1 zcdBoayccccccFFFccccccGccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoaycccccFFycccccccccccgccccccccccccccccccFccccccccccccczcccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBopayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 -1 zcdBoayccccccFFFccccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFccccgccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 0 0 0 0 zcdBoayccccccFFFFccccccccccgcccccccCccccccccccFccccccccccccccccHccczqrwcsGEddyab 0 +-1 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayc 0 0 -1 0 zcdBoayccccccFFFccccvcccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccccccccccEccFcccccccccccccccccccczqrwcsGaddynb 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccFcccccccccccccczqrwcsGafdyab -1 0 zcdBoaycccccrFuFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoasccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwclGaddiab zcdBoaycccsccFFFcccccccccccgccccccccccccccccccFccccccnwccccccccccczqrwcsGaddyab -1 -1 zcdBoayccccccFFFccFccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFccccccGccccgcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 0 zcdBoayccccccFFFccccccccccygccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFmFccccccccclcgcccczcccccccccccccFccccccccyccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFuFcccccccccccgccccccccccccccccccFcccmcccccccccczcccccczqrwcsGaddyab zcdBoayc -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccFcczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcfcccccccccccccccccczqrwcsGaddyab -1 +-1 0 -1 zcdBoayccccecFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccfcccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccrccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccxcFFFcccccccccccgcccccccccccccccccFcccccccccccccccccccczqrwksGaddyab 0 0 0 zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab azcdBoaycccrccFFFccccvccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddya 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccGccccccccccccjzqrwcsGatdyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccecccccccccccccccczqrwcsGaddyab zcdBoayc 0 zcdBoayccccccFFFcccccccccccgcccccccccEcccccccccFcccccccccccccDcccccczqrwcsGaddyab 0 0 0 zcdBoayccccccFFFccccccccccctgcccccccBcchcccccccFccccAccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccycccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFccFccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayc 0 zcdBoayccccccFFxcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 -1 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoaHyccccckFFcccccccccccgccccccccccccccccccFcccccfcccccccccccccczqrwcsGaddyab zcdBoayccccccFFFccccccccccctgcclccccBccccccccccFccccccccccccccpcccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccBcccccccccccccFcccccccccccccccccccczqrwcsGadByab +0 0 0 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccckcccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccczcccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccEcccccgccccccccccccccccccFcccccccbcccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccGcccccccccccicczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgzcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdFBoayccccccFFFcccccccccccgcmccccccccccccccccFccccccccccccccccccczqrwcsGaddyab -1 0 0 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcjGaddyab zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccccccccccccccczqrwcsGamdyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccjcccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoaycccccCFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgbccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGadCyab zcdBoayccccccFFFicyccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccbccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayc 0 0 +0 0 zcdBoayccccccFFFccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 -1 zcdBoayccccccCFFcccccccccccgccccccccccccccccccFccccccccccccccccccccezqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoryccccccFFFccDccEccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 -1 -1 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwsGaddyab zcdBoayccccccFFFcccccccHcccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 0 zcdBoayccccccFuFcccccccccccgccccccccccccccccccFcccmccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFccccccctcccgcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccacccFFFcccccccccccgccccccccccccccccccFccccccccccccccccccsczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFmFcccccccccccgcccczcccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFtccccccckccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdthoayccccccFFFcccccccccccgccccccccccccccccccFczcccccccccccccccccczqrwcsGabdyab 0 +zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBopayccccccFFFcccccccccccgcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccchccgccccccccccccccccccFcncccccccccccccccccczqrwcsGaddyab 0 -1 0 -1 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccFcccccccccccccczqrwcsGaddyab -1 0 0 0 0 0 zcdBoayccccccFuFcccccccccccgccccccccccrcccccccFcccmccccccccccccccccczqrwcsGaddyab -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFlccccncccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFccccccccccctgcccccccBccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFdFccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcGcccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 -1 0 -1 -1 0 -1 zcdBoayccccccFFFccccccctcccgccccccccbccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgcccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoaycvccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgcccccccccccckcccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccFcccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccwcccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccCccccccccccFcccccccccccccccccccczqrwcsGEddyab -1 +0 0 0 -1 0 zcdBoayccccccFdFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgcccccccccccccccEccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccbcccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGadwyab 0 zcdBoayccccccFFFccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccpcccccccccccczqrwcsGaddyab -1 zcdBoayc 0 0 0 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 -1 -1 zcdBoayccccccFFFcccBcccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFccccccGccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccecccccdccccccczqrwcsGaddyab zcdBoaycccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 -1 zcdBoayccccccFFFcccccccccpcgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFdFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFccccccccccccGcrccccczqrwcsGaddyab zcdBoayccccccFFFcceccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoaycccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFcccccccccccgccccccccccccccccccFccscccccccccccccccccczqrwcsGaddyab 0 -1 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGadpyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 +0 -1 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccckqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsCaddyab zcdBoayccccccFFFcccccccccccgcccccycccccccccccFcccccccccccCccccccccczerwcsGaddyab 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoaycccccckFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 0 0 -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcxcccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoycBcccccFFFcccccccccccgcccBccccccccccccccFccccccBcccccccccyccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoaycccctbFFFcccccccccccgccccccccccccccccccFcccccccccccccgcccccczqrwcsGaddyab 0 azcdBoaycBcccccFFFcccccccccccgcccBccccccccccrcccFccccccBccrcccccccccczqrwcsGaddyah zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccwcccczqrwcsGaddyab 0 -1 0 -1 -1 0 0 0 zcdBoayc -1 zcdBoayccccccFFFcccccccccccgckccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab -1 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab 0 zcdBoayccccccFFFcccccccccccgccccccccccccccccccFcccccccccccccccccccczqrwcsGaddyab diff --git a/avida-core/tests/set_random_seed2/expected/data/parasites2a.dat b/avida-core/tests/set_random_seed2/expected/data/parasites2a.dat new file mode 100644 index 0000000000..d8daaec9dd --- /dev/null +++ b/avida-core/tests/set_random_seed2/expected/data/parasites2a.dat @@ -0,0 +1,6 @@ +# Avida Dominant Parasite Data +# Mon Sep 16 14:52:37 2024 +# 1: Update +# 2: Number of Extant Parasites + +1800 0 diff --git a/avida-core/tests/set_random_seed2/expected/data/parasites2b.dat b/avida-core/tests/set_random_seed2/expected/data/parasites2b.dat new file mode 100644 index 0000000000..bee1e1622c --- /dev/null +++ b/avida-core/tests/set_random_seed2/expected/data/parasites2b.dat @@ -0,0 +1,6 @@ +# Avida Dominant Parasite Data +# Mon Sep 16 14:52:46 2024 +# 1: Update +# 2: Number of Extant Parasites + +2000 950 diff --git a/avida-core/tests/set_random_seed2/expected/data/parasites3.dat b/avida-core/tests/set_random_seed2/expected/data/parasites3.dat new file mode 100644 index 0000000000..4941c7d514 --- /dev/null +++ b/avida-core/tests/set_random_seed2/expected/data/parasites3.dat @@ -0,0 +1,6 @@ +# Avida Dominant Parasite Data +# Mon Sep 16 14:52:46 2024 +# 1: Update +# 2: Number of Extant Parasites + +2001 950 diff --git a/avida-core/tests/set_random_seed2/test_list b/avida-core/tests/set_random_seed2/test_list new file mode 100644 index 0000000000..85b91fb5b7 --- /dev/null +++ b/avida-core/tests/set_random_seed2/test_list @@ -0,0 +1,37 @@ +;--- Begin Test Configuration File (test_list) --- +[main] +; Command line arguments to pass to the application +args = -s 1 + +app = %(default_app)s ; Application path to test +nonzeroexit = disallow ; Exit code handling (disallow, allow, or require) + ; disallow - treat non-zero exit codes as failures + ; allow - all exit codes are acceptable + ; require - treat zero exit codes as failures, useful + ; for creating tests for app error checking +createdby = Matthew Andres Moreno ; Who created the test +email = morenoma@umich.edu ; Email address for the test's creator + +[consistency] +enabled = yes ; Is this test a consistency test? +long = no ; Is this test a long test? + +[performance] +enabled = no ; Is this test a performance test? +long = no ; Is this test a long test? + +; The following variables can be used in constructing setting values by calling +; them with %(variable_name)s. For example see 'app' above. +; +; builddir +; cpus +; default_app +; mode +; perf_repeat +; perf_user_margin +; perf_wall_margin +; svn +; svnmetadir +; svnversion +; testdir +;--- End Test Configuration File ---