.
675 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | # Go parameters
2 | GOCMD=go
3 | GOBUILD=$(GOCMD) build
4 | GOCLEAN=$(GOCMD) clean
5 | GOTEST=$(GOCMD) test
6 | GOGET=$(GOCMD) get
7 | BINARY_NAME=google-hash-code-2018
8 | BINARY_UNIX=$(BINARY_NAME)_unix
9 |
10 | all: build
11 | build:
12 | $(GOBUILD) -o $(BINARY_NAME) -v
13 | clean:
14 | $(GOCLEAN)
15 | rm -f $(BINARY_NAME)
16 | rm -f $(BINARY_UNIX)
17 | run:
18 | $(GOBUILD) -o $(BINARY_NAME) -v ./...
19 | ./$(BINARY_NAME)
20 | deps:
21 | $(GOGET) github.com/faiface/glhf
22 | $(GOGET) github.com/faiface/pixel
23 | $(GOGET) github.com/go-gl/glfw/v3.2/glfw
24 |
25 | build-linux:
26 | GOOS=linux GOARCH=amd64 $(GOBUILD) -o $(BINARY_UNIX) -v
27 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | Google Hash Code 2018 : live simulation
2 |
3 |
4 |
5 |
6 | 
7 | [](https://circleci.com/gh/AkselsLedins/google-hashcode-2018-live-simulation)
8 | 
9 | 
10 | 
11 | 
12 |
13 |
14 |
15 | ## Introduction
16 |
17 | Some context on the competition:
18 |
19 | We are given a list of pre-booked rides in a city and a fleet of self-driving vehicles. The objective of the competition is to assign the rides to vehicles, so
20 | that riders get to their destinations on time.
21 |
22 | [The competition subject](resources/subject.pdf)
23 |
24 | #### Guide to better understanding the animation
25 |
26 | | Illustration | Explanation |
27 | |---------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------|
28 | |  | A red dot is a car. |
29 | |  | The red line is a representation of a failed trip. The car arrived late. |
30 | |    | A blue line is a trip in progress. You can see the car going through. |
31 | |   | A green line is a completed trip. |
32 | |  | A grey line means that a driver is assigned to the trip. |
33 | |  | A yellow line means that the driver is ready, but it's too early to start the ride. |
34 |
35 | **Important:** we are only showing the assigned trips. If you press [T] you can toggle off/on the unassigned ones.
36 |
37 |
38 |

39 |

40 |
41 |
42 | ## Preview
43 |
44 |
45 |
46 | 
47 |
48 |
49 |
50 | ## Installation
51 |
52 | ```
53 | $> make deps
54 | $> make
55 | ```
56 |
57 | ### Requirements
58 |
59 | * OpenGL see [github.com/faiface/glhf](https://github.com/faiface/glhf#which-version-of-opengl-does-glhf-use)
60 | * [github.com/faiface/pixel](https://github.com/faiface/pixel#requirements)
61 | * [github.com/go-gl/glfw/v3.2/glfw](https://github.com/go-gl/glfw#installation)
62 | * `go>=1.8.1`
63 |
64 | ## Running
65 |
66 |
67 | | flag | required | explanation |
68 | |--------|----------|-------------------------------------------------------------------------------------------|
69 | | -o | :white_check_mark: | path to the output file you have generated with your program during the hashcode |
70 | | -i | :white_check_mark: | corresponding input file, ex: b_should_be_easy.in |
71 | | -noGui | | you can run the simulation withtout a graphic interface. This will only output your score |
72 | | -h | | display help |
73 |
74 | #### Example with a Graphic Interface
75 |
76 | ```
77 | $> ./google-hash-code-2018 -o resources/output-files/b.out -i resources/input-files/b_should_be_easy.in
78 | ```
79 |
80 |
81 |
82 |
83 | 
84 |
85 |
86 |
87 | #### Example without a Graphic Interface
88 |
89 | ```
90 | $> go run main.go -o resources/output-files/e.out -i resources/input-files/e_high_bonus.in -noGui
91 | 16381105
92 |
93 | ```
94 |
95 |
96 | ## Graphic interface commands
97 |
98 | | Command | effect |
99 | |---------------|---------------------------------------|
100 | | press "space" | pause / start the simulation |
101 | | press "t" | shows / hide all the simulation trips |
102 | | arrow keys | move the camera around |
103 | | mouse scroll | zoom in/out |
104 |
105 |
106 | ## FAQ
107 |
108 | ### Why ?
109 | I thought it would be a fun project to practice Go
110 |
111 | ## Contributing
112 |
113 | See Contributing.md.
114 |
115 | But basically feel free to contribute if you find something to improve.
116 |
117 |
118 | ## License
119 | [GPL-V3](https://tldrlegal.com/license/gnu-general-public-license-v3-(gpl-3))
120 |
--------------------------------------------------------------------------------
/config/config.go:
--------------------------------------------------------------------------------
1 | package config
2 |
3 | import (
4 | "image/color"
5 |
6 | "golang.org/x/image/colornames"
7 | )
8 |
9 | type uiConfig struct {
10 | SquareSize int32
11 | VehicleSize float64
12 |
13 | WindowTitle string
14 |
15 | // colors
16 | BackgroundColor color.RGBA
17 | GridColor color.RGBA
18 |
19 | TripDefaultColor color.RGBA
20 | VehicleDefaultColor color.RGBA
21 | }
22 |
23 | type config struct {
24 | UI uiConfig
25 | }
26 |
27 | var Config config
28 |
29 | func init() {
30 | Config.UI.SquareSize = 1
31 | Config.UI.VehicleSize = 5
32 | Config.UI.BackgroundColor = colornames.Whitesmoke
33 | Config.UI.TripDefaultColor = colornames.Gray
34 | Config.UI.VehicleDefaultColor = colornames.Red
35 | Config.UI.GridColor = colornames.Gray
36 | Config.UI.WindowTitle = "Google Hashcode 2018 - Simulator!"
37 | }
38 |
--------------------------------------------------------------------------------
/ghashcode/coordinates.go:
--------------------------------------------------------------------------------
1 | package ghashcode
2 |
3 | // Coordinates export a type that look like
4 | // coordinates on a map
5 | type Coordinates struct {
6 | X, Y int32
7 | }
8 |
--------------------------------------------------------------------------------
/ghashcode/trip.go:
--------------------------------------------------------------------------------
1 | package ghashcode
2 |
3 | import (
4 | "image/color"
5 | "math"
6 |
7 | config "github.com/AkselsLedins/google-hashcode-2018-live-simulation/config"
8 | "github.com/AkselsLedins/google-hashcode-2018-live-simulation/ui"
9 |
10 | "github.com/faiface/pixel"
11 | "github.com/faiface/pixel/imdraw"
12 | "golang.org/x/image/colornames"
13 | )
14 |
15 | // Trip a structure which represents a trip in the simulation
16 | // Quite self-explanatory
17 | type Trip struct {
18 | // unique identifier for each trip, used for debugging
19 | ID int
20 |
21 | // start & end coordinates
22 | Start Coordinates
23 | End Coordinates
24 |
25 | // computed distance from Start to End
26 | // helps for score computation
27 | Distance int
28 | // we set there the bonus defined in Config if the
29 | // driver starts its trip on time
30 | Bonus int
31 |
32 | // A driver cannot start its trip before EarlierStart step
33 | // And if he finish his drive after LatestFinish the trip will
34 | // be marked as failed
35 | EarliestStart int32
36 | LatestFinish int32
37 |
38 | // current color of the trip
39 | Color color.RGBA
40 |
41 | // when a driver is going towards the trip
42 | Taken bool
43 | // the vehicle is actually doing it
44 | InProgress bool
45 | // the vehicle end the trip too late
46 | Failed bool
47 | }
48 |
49 | // AddToImd adds to the imd batch the graphic line of the trip
50 | // We only call .draw once for all the trips
51 | func (t *Trip) AddToImd(imd *imdraw.IMDraw) {
52 | // we only show taken trips for performance
53 | // TODO a way to desactivate this
54 | if !t.Taken && !ui.Options().ShowAllTrips {
55 | return
56 | }
57 |
58 | // depending of the status of the trip we assign it a color
59 | imd.Color = t.Color
60 |
61 | // start point
62 | startX := t.Start.X*config.Config.UI.SquareSize + config.Config.UI.SquareSize
63 | startY := t.Start.Y*config.Config.UI.SquareSize + config.Config.UI.SquareSize
64 | imd.Push(pixel.V(float64(startX), float64(startY)))
65 | // second point
66 | intermediateX := (t.End.X)*config.Config.UI.SquareSize + config.Config.UI.SquareSize
67 | intermediateY := (t.Start.Y)*config.Config.UI.SquareSize + config.Config.UI.SquareSize
68 | imd.Push(pixel.V(float64(intermediateX), float64(intermediateY)))
69 | // third final point
70 | endX := t.End.X*config.Config.UI.SquareSize + config.Config.UI.SquareSize
71 | endY := t.End.Y*config.Config.UI.SquareSize + config.Config.UI.SquareSize
72 | imd.Push(pixel.V(float64(endX), float64(endY)))
73 |
74 | // registering the line
75 | imd.Line(2)
76 |
77 | // we create the tip of the trip to see where its start is
78 | // looks like this: O---------
79 | imd.Color = t.Color
80 | imd.EndShape = imdraw.RoundEndShape
81 |
82 | imd.Push(pixel.V(float64(startX), float64(startY)))
83 | imd.Push(pixel.V(float64(startX), float64(startY)))
84 |
85 | imd.Line(10)
86 | }
87 |
88 | // SetStart setter for StartCoordinates
89 | func (t *Trip) SetStart(x, y int32) {
90 | t.Start.X = x
91 | t.Start.Y = y
92 | }
93 |
94 | // SetEnd setter for StartCoordinates
95 | func (t *Trip) SetEnd(x, y int32) {
96 | t.End.X = x
97 | t.End.Y = y
98 | }
99 |
100 | // SomeoneIsOnIt we could store the vehicle id for debugging purposes there
101 | // but atm we only change the trip color and its status
102 | func (t *Trip) SomeoneIsOnIt() {
103 | t.Color = colornames.Beige
104 | t.Taken = true
105 | }
106 |
107 | // StartTrip takes the current step as parameter
108 | // if we start it on time we earn the bonus points
109 | // a different color is assigned if we start it on time or not
110 | func (t *Trip) StartTrip(step int, bonus int16) {
111 | if step == int(t.EarliestStart) {
112 | t.Bonus += int(bonus)
113 | t.Color = colornames.Gold
114 | return
115 | }
116 | t.Color = colornames.Cyan
117 | }
118 |
119 | // Finish the vehicle finished the trip at step.
120 | // we determine if he failed or not to arrive on time
121 | // a different is assigned if we end it on time or not
122 | func (t *Trip) Finish(step int32) int {
123 | failed := false
124 | // the vehicle does this even if the arrival step is later than the latest finish
125 | if step > t.LatestFinish {
126 | failed = true
127 | }
128 | t.Failed = failed
129 |
130 | if !failed {
131 | t.Color = colornames.Green
132 | return t.Distance + t.Bonus
133 | }
134 | // but no points are earned by such a ride
135 | t.Color = colornames.Red
136 | return 0
137 | }
138 |
139 | // WarnEarly it changes only the trip color to warn graphically
140 | // that a vehicle is too early on a trip
141 | // We can see that way that some drivers are waiting way too long
142 | func (t *Trip) WarnEarly() {
143 | t.Color = colornames.Yellow
144 | }
145 |
146 | // NewTrip a constructor for Trip
147 | func NewTrip(id int, a, b, x, y, s, f int32) *Trip {
148 | trip := new(Trip)
149 |
150 | trip.ID = id
151 |
152 | trip.SetStart(a, b)
153 | trip.SetEnd(x, y)
154 | trip.EarliestStart = s
155 | trip.LatestFinish = f
156 |
157 | // default values
158 | trip.InProgress = false
159 | trip.Taken = false
160 | trip.Failed = false
161 | trip.Color = config.Config.UI.TripDefaultColor
162 |
163 | // precomputed values
164 | trip.Distance = int(math.Abs(float64(a-x)) + math.Abs(float64(b-y)))
165 | trip.Bonus = 0
166 | imd := imdraw.New(nil)
167 |
168 | imd.Color = trip.Color
169 | imd.EndShape = imdraw.RoundEndShape
170 |
171 | return trip
172 | }
173 |
--------------------------------------------------------------------------------
/ghashcode/vehicle.go:
--------------------------------------------------------------------------------
1 | package ghashcode
2 |
3 | import (
4 | "math"
5 |
6 | config "github.com/AkselsLedins/google-hashcode-2018-live-simulation/config"
7 |
8 | "github.com/faiface/pixel"
9 | "github.com/faiface/pixel/imdraw"
10 | )
11 |
12 | // Vehicle a structure which represents a vehicle in the simulation
13 | // Quite self-explanatory
14 | type Vehicle struct {
15 | // current position of the vehicle
16 | CurrentPosition Coordinates
17 |
18 | // Trips an array of trips' indexes
19 | // (and not their ids)
20 | Trips []int32
21 | // index of the current trip in Trips
22 | CurrentTrip int
23 | // if he is currently assigned on a trip
24 | OnRide bool
25 | Enabled bool
26 | }
27 |
28 | // AddToImd adds to the imd batch the graphic point of the vehicle
29 | // We only call .draw once for all the vehicles
30 | func (v *Vehicle) AddToImd(imd *imdraw.IMDraw) {
31 | imd.Color = config.Config.UI.VehicleDefaultColor
32 | imd.EndShape = imdraw.RoundEndShape
33 | squareSize := config.Config.UI.SquareSize
34 |
35 | offsetX := v.CurrentPosition.X*squareSize + squareSize
36 | offsetY := v.CurrentPosition.Y*squareSize + squareSize
37 |
38 | drawX := float64(offsetX)
39 | drawY := float64(offsetY)
40 |
41 | imd.Push(pixel.V(drawX, drawY))
42 | imd.Push(pixel.V(drawX, drawY))
43 |
44 | imd.Line(config.Config.UI.VehicleSize)
45 | }
46 |
47 | func (v *Vehicle) Drive(allTrips []*Trip, step int, bonus int16) (score int) {
48 | // until the vehicle handles all scheduled rides
49 | if v.CurrentTrip >= len(v.Trips) {
50 | return
51 | }
52 |
53 | trip := allTrips[v.Trips[v.CurrentTrip]]
54 | trip.SomeoneIsOnIt()
55 |
56 | // first, the vehicle drives from its current intersection ([0,0] at the beginning of the simulation) to the
57 | // start intersection of the next ride (unless the vehicle is already in this intersection)
58 | if !v.OnRide {
59 | v.DriveTo(trip.Start.X, trip.Start.Y)
60 | return
61 | }
62 |
63 | // vehicle is ready to drive on the trip
64 | trip.StartTrip(step, bonus)
65 | // then, if the current step is earlier than the earliest start of the next ride,
66 | // the vehicle waits until that step
67 | if int32(step) < trip.EarliestStart {
68 | trip.WarnEarly()
69 | return
70 | }
71 |
72 | // then, the vehicle drives to the finish intersection
73 | v.DriveOnTrip(trip.End.X, trip.End.Y)
74 | currentX, currentY := v.GetPosition()
75 |
76 | if currentX == trip.End.X && currentY == trip.End.Y {
77 | score += trip.Finish(int32(step))
78 | // then, the process repeats for the next assigned ride,
79 | v.NextTrip()
80 | return
81 | }
82 | return
83 | }
84 |
85 | // NextTrip move forward next trip or disable the vehicle
86 | // if there isnt any trips left
87 | func (v *Vehicle) NextTrip() {
88 | v.CurrentTrip++
89 | v.OnRide = false
90 |
91 | // no trip ? hide the car
92 | if v.CurrentTrip >= len(v.Trips) {
93 | v.Enabled = false
94 | }
95 | }
96 |
97 | // DriveOnTrip it will make the vehicle
98 | // follow the line drawn on the screen by the trip
99 | func (v *Vehicle) DriveOnTrip(destinationX, destinationY int32) {
100 | currentX, currentY := v.GetPosition()
101 | if currentX > destinationX {
102 | currentX--
103 | } else if currentX < destinationX {
104 | currentX++
105 | } else if currentY > destinationY {
106 | currentY--
107 | } else if currentY < destinationY {
108 | currentY++
109 | }
110 |
111 | // update vehicle position
112 | v.SetPosition(currentX, currentY)
113 | }
114 |
115 | // DriveTo destinationX, destinationY coordinates
116 | // It will make the vehicle move in a straight line to a point
117 | func (v *Vehicle) DriveTo(destinationX, destinationY int32) {
118 | // retrieve current position
119 | currentX, currentY := v.GetPosition()
120 | if destinationX == currentX && destinationY == currentY {
121 | v.OnRide = true
122 | return
123 | }
124 |
125 | // calculate the absolute difference between the positions
126 | dx := math.Abs(float64(currentX - destinationX))
127 | dy := math.Abs(float64(currentY - destinationY))
128 |
129 | // newX and newY
130 | nx := currentX
131 | ny := currentY
132 | if dx < dy {
133 | if currentY < destinationY {
134 | ny++
135 | } else if currentY > destinationY {
136 | ny--
137 | }
138 | } else if dx > dy {
139 | if currentX < destinationX {
140 | nx++
141 | } else if currentX > destinationX {
142 | nx--
143 | }
144 | } else if dx == dy {
145 | if currentX < destinationX {
146 | nx++
147 | } else if currentX > destinationX {
148 | nx--
149 | } else if currentY < destinationY {
150 | ny++
151 | } else if currentY > destinationX {
152 | ny--
153 | }
154 | }
155 |
156 | // update the vehicle position
157 | v.SetPosition(nx, ny)
158 |
159 | // it reached his destination so we can consider him ready to start his ride
160 | if destinationX == nx && destinationY == ny {
161 | v.OnRide = true
162 | }
163 | }
164 |
165 | // NewVehicle a constructor for Trip
166 | // takes its trips as parameters
167 | func NewVehicle(trips []int32) *Vehicle {
168 | v := new(Vehicle)
169 |
170 | // default values
171 | v.SetPosition(0, 0)
172 | v.Enabled = true
173 | v.CurrentTrip = 0
174 | v.Trips = trips
175 |
176 | return v
177 | }
178 |
179 | // SetPosition setter for CurrentPosition
180 | func (v *Vehicle) SetPosition(x, y int32) {
181 | v.CurrentPosition.X = x
182 | v.CurrentPosition.Y = y
183 | }
184 |
185 | // GetPosition getter for CurrentPosition
186 | func (v *Vehicle) GetPosition() (int32, int32) {
187 | return v.CurrentPosition.X, v.CurrentPosition.Y
188 | }
189 |
--------------------------------------------------------------------------------
/google-hash-code-2018:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/google-hash-code-2018
--------------------------------------------------------------------------------
/google-hash-code-2018_unix:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/google-hash-code-2018_unix
--------------------------------------------------------------------------------
/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "flag"
5 | "fmt"
6 | "time"
7 |
8 | config "github.com/AkselsLedins/google-hashcode-2018-live-simulation/config"
9 | simulator "github.com/AkselsLedins/google-hashcode-2018-live-simulation/simulator"
10 | ui "github.com/AkselsLedins/google-hashcode-2018-live-simulation/ui"
11 |
12 | "github.com/faiface/pixel"
13 | "github.com/faiface/pixel/imdraw"
14 | "github.com/faiface/pixel/pixelgl"
15 | "golang.org/x/image/colornames"
16 | )
17 |
18 | var (
19 | size *int
20 | windowSize *float64
21 |
22 | frames = 0
23 | second = time.Tick(time.Second)
24 |
25 | noGuiFlag *bool
26 |
27 | outputFile *string
28 | inputFile *string
29 |
30 | simulation *simulator.Simulation
31 | )
32 |
33 | func init() {
34 | simulation = simulator.NewSimulation()
35 |
36 | outputFile = flag.String("o", "", "Path to your result")
37 | inputFile = flag.String("i", "", "Path to the exercice input")
38 | noGuiFlag = flag.Bool("noGui", false, "Run the simulation without a GUI")
39 |
40 | flag.Parse()
41 |
42 | simulation.ParseOutputFile(*outputFile)
43 | simulation.ParseInputFile(*inputFile)
44 | }
45 |
46 | func run() {
47 | cfg := pixelgl.WindowConfig{
48 | Title: config.Config.UI.WindowTitle,
49 | Bounds: pixel.R(0, 0, 1024, 720),
50 | }
51 | win, err := pixelgl.NewWindow(cfg)
52 | if err != nil {
53 | panic(err)
54 | }
55 |
56 | tick := time.Tick(6 * time.Millisecond)
57 |
58 | imd := imdraw.New(nil)
59 | last := time.Now()
60 |
61 | for !win.Closed() && !simulation.Ended {
62 | imd.Clear()
63 | frames++
64 | dt := time.Since(last).Seconds()
65 | last = time.Now()
66 |
67 | // set the camera for the scene
68 | win.SetMatrix(ui.Cam().GetMatrix(win))
69 |
70 | // handle user inputs
71 | simulation.HandleEvents(win, dt)
72 |
73 | select {
74 | case <-tick:
75 | win.Clear(colornames.Black)
76 |
77 | simulation.Run(imd)
78 |
79 | imd.Draw(win)
80 |
81 | case <-second:
82 | win.SetTitle(fmt.Sprintf("%s | FPS: %d", cfg.Title, frames))
83 | frames = 0
84 | }
85 |
86 | // reset the matrix
87 | win.SetMatrix(pixel.IM)
88 |
89 | // drall the UI
90 | ui.DrawStepNumber(win, simulation.Step)
91 | ui.DrawScore(win, simulation.Score)
92 | ui.DrawNumberOfVehicles(win, len(simulation.Vehicles))
93 | ui.DrawNumberOfTrips(win, len(simulation.Trips))
94 | ui.DrawStartHint(win)
95 |
96 | win.Update()
97 | }
98 |
99 | fmt.Printf("Score: %d\n", simulation.Score)
100 | }
101 |
102 | func noGui() {
103 | simulation.Start()
104 | for !simulation.Ended {
105 | simulation.Run(nil)
106 | }
107 | fmt.Printf("%d\n", simulation.Score)
108 | }
109 |
110 | func main() {
111 | if *noGuiFlag == true {
112 | noGui()
113 | return
114 | }
115 | pixelgl.Run(run)
116 | }
117 |
--------------------------------------------------------------------------------
/resources/input-files/a_example.in:
--------------------------------------------------------------------------------
1 | 3 4 2 3 2 10
2 | 0 0 1 3 2 9
3 | 1 2 1 0 0 9
4 | 2 0 2 2 0 9
5 |
--------------------------------------------------------------------------------
/resources/input-files/b_should_be_easy.in:
--------------------------------------------------------------------------------
1 | 800 1000 100 300 25 25000
2 | 395 43 296 955 244 3620
3 | 734 467 300 833 21919 23595
4 | 473 815 21 810 24428 24959
5 | 210 150 387 12 12646 13491
6 | 314 563 141 419 2744 3381
7 | 237 432 151 805 16506 17940
8 | 264 491 445 767 14518 16078
9 | 219 215 154 449 2806 3698
10 | 508 681 180 701 2744 3179
11 | 460 585 320 715 23246 23518
12 | 732 600 101 985 15613 19024
13 | 790 935 686 121 12617 14630
14 | 761 85 111 567 18517 21011
15 | 126 185 470 739 4056 5036
16 | 31 325 197 802 11368 12202
17 | 190 614 588 972 5453 7904
18 | 493 783 48 358 16842 18899
19 | 648 494 602 487 20154 20301
20 | 108 973 280 646 6209 7780
21 | 81 766 536 544 7102 7835
22 | 547 716 490 315 17725 18263
23 | 498 128 223 589 8084 9741
24 | 593 508 380 466 13853 14535
25 | 368 900 100 744 13935 15080
26 | 219 277 244 256 3766 3905
27 | 292 766 393 28 15583 17315
28 | 621 39 399 117 12206 13006
29 | 62 406 534 169 12669 14289
30 | 550 693 454 379 10197 11611
31 | 650 286 462 484 9773 10980
32 | 275 87 499 257 20394 21549
33 | 637 404 390 535 18038 18766
34 | 358 834 26 616 9309 9864
35 | 434 885 25 81 406 2463
36 | 582 461 523 322 1222 1479
37 | 277 50 126 571 17390 18095
38 | 623 425 588 906 288 1239
39 | 265 761 98 375 21876 22583
40 | 636 557 796 628 6689 7339
41 | 557 123 345 598 8835 10642
42 | 456 621 283 914 10505 11177
43 | 673 589 663 974 1456 2487
44 | 765 854 558 344 15115 16592
45 | 400 309 6 829 19651 20630
46 | 427 128 295 372 7285 7802
47 | 111 316 88 590 17142 17676
48 | 673 871 682 822 22175 22290
49 | 649 946 515 598 21159 21894
50 | 641 663 50 392 14356 16679
51 | 614 915 467 258 22780 23941
52 | 118 755 666 938 11562 14039
53 | 552 276 610 72 18433 18943
54 | 584 384 416 309 23305 23636
55 | 541 897 524 912 8980 9035
56 | 280 980 684 506 1111 2172
57 | 188 447 264 678 18764 19808
58 | 558 342 663 278 6098 6562
59 | 463 857 280 590 7076 8214
60 | 23 441 207 732 4790 5727
61 | 216 217 681 811 18975 21243
62 | 468 106 480 624 6876 8210
63 | 311 37 382 460 13163 14513
64 | 85 547 533 747 3861 4698
65 | 335 892 718 421 6743 8651
66 | 556 242 676 208 11440 11771
67 | 432 467 693 143 462 1451
68 | 582 50 560 74 19931 20019
69 | 248 313 16 861 19026 19938
70 | 188 405 689 968 11576 13755
71 | 700 123 650 627 22069 22989
72 | 495 283 214 702 15754 16472
73 | 235 572 442 955 19618 21544
74 | 185 523 83 201 2507 3375
75 | 474 470 791 895 13658 15396
76 | 328 636 94 215 6024 7292
77 | 67 382 524 997 2313 4668
78 | 525 464 476 849 15084 16161
79 | 462 543 333 827 23266 23929
80 | 154 461 673 430 18289 20212
81 | 474 621 723 872 7652 9283
82 | 530 416 189 909 2477 3621
83 | 382 819 524 475 16592 17089
84 | 258 224 155 726 11556 13248
85 | 753 836 51 812 16253 17539
86 | 310 667 619 598 22833 24007
87 | 176 699 774 428 1349 4194
88 | 365 600 264 566 12706 12908
89 | 198 840 478 635 1451 2410
90 | 661 793 411 951 2123 3229
91 | 686 808 640 37 12952 15278
92 | 667 211 519 12 15402 16367
93 | 540 111 634 504 8592 9727
94 | 482 285 519 899 4551 5248
95 | 290 20 274 198 15643 16268
96 | 253 706 698 330 22175 23962
97 | 311 1 191 859 4743 6124
98 | 415 844 72 250 8788 10839
99 | 378 775 546 379 21476 22505
100 | 471 167 741 819 16795 19208
101 | 61 690 55 586 1663 1958
102 | 449 270 634 260 20096 20380
103 | 102 526 653 936 15482 17709
104 | 703 709 139 701 10104 11341
105 | 247 549 29 56 2349 3712
106 | 654 147 732 939 19037 20634
107 | 310 163 799 285 6113 7059
108 | 189 610 630 71 18380 20760
109 | 239 321 416 849 6015 6728
110 | 96 421 46 27 1262 2131
111 | 253 282 343 514 13544 13989
112 | 489 518 332 323 1998 2379
113 | 176 758 638 250 12027 14412
114 | 255 715 625 28 17210 20620
115 | 81 273 645 290 8303 8930
116 | 337 820 59 115 14104 15327
117 | 266 303 201 251 18699 18915
118 | 491 915 363 285 632 2642
119 | 170 942 236 754 13359 14226
120 | 497 303 398 239 16330 16838
121 | 588 216 166 751 15964 17696
122 | 720 37 449 146 20416 21364
123 | 319 195 128 970 11013 13484
124 | 601 45 694 52 11527 11642
125 | 296 47 137 570 22183 23150
126 | 81 653 220 317 16913 17823
127 | 748 156 137 186 6792 7577
128 | 203 822 547 269 20606 22043
129 | 243 102 507 792 3941 5654
130 | 319 456 229 159 9979 10834
131 | 559 126 447 404 7570 8933
132 | 379 411 648 412 24453 24952
133 | 611 950 405 339 15963 17940
134 | 127 253 521 295 24005 24851
135 | 103 553 333 935 3777 5260
136 | 750 114 668 304 3059 3629
137 | 496 532 99 956 22048 22970
138 | 423 12 182 287 4323 6027
139 | 789 421 463 561 5017 6337
140 | 700 775 180 863 16395 18092
141 | 148 374 546 448 16900 17773
142 | 98 353 477 757 14323 15842
143 | 635 751 53 218 18963 21150
144 | 238 612 138 28 19493 20431
145 | 587 566 259 987 21754 22785
146 | 393 624 655 886 6056 6633
147 | 64 691 542 750 19184 20394
148 | 481 80 378 665 10777 13072
149 | 500 484 326 286 14589 15685
150 | 72 536 672 404 2985 5259
151 | 266 66 30 370 23621 24333
152 | 610 690 448 236 5882 6523
153 | 335 910 672 443 23564 24999
154 | 480 43 392 959 18758 20533
155 | 291 444 88 53 22862 23808
156 | 625 46 444 685 19799 22222
157 | 638 730 598 46 18829 21212
158 | 511 139 157 902 6841 9888
159 | 54 709 389 839 11603 12878
160 | 287 484 750 436 12176 13120
161 | 613 505 257 253 3385 4966
162 | 426 438 603 886 13336 15449
163 | 176 19 653 427 3866 4911
164 | 784 431 379 158 3227 5074
165 | 74 501 41 936 13169 14788
166 | 148 585 157 112 1613 2595
167 | 191 916 425 839 24432 24833
168 | 795 571 743 528 8766 9010
169 | 502 138 42 160 228 1244
170 | 581 167 737 6 830 1390
171 | 759 628 584 714 23842 24583
172 | 357 20 505 713 12905 14204
173 | 82 543 402 386 6281 6969
174 | 468 170 393 237 10469 10633
175 | 104 452 295 268 23203 24477
176 | 362 356 187 802 9443 11604
177 | 332 100 322 292 24411 24709
178 | 110 606 565 611 19681 21028
179 | 234 186 599 472 13261 14763
180 | 532 820 600 311 22519 23278
181 | 624 916 777 613 450 1603
182 | 558 292 107 920 330 2387
183 | 434 910 764 227 17238 18466
184 | 194 336 445 462 18980 20119
185 | 528 267 653 319 24444 24925
186 | 131 923 111 568 1566 2286
187 | 443 921 201 149 11243 12322
188 | 291 207 569 278 21342 21845
189 | 605 616 578 831 6412 7193
190 | 590 695 588 238 8811 10121
191 | 223 406 165 869 22383 23597
192 | 442 623 797 305 14755 15537
193 | 524 323 593 202 13004 13612
194 | 385 37 394 416 19327 20364
195 | 123 156 298 128 5307 5573
196 | 56 683 445 713 21986 22412
197 | 274 742 563 848 13790 14236
198 | 34 371 662 736 17910 21172
199 | 687 641 161 802 13581 14830
200 | 165 591 14 948 7116 7677
201 | 681 206 756 220 17523 17742
202 | 358 643 766 704 6967 8435
203 | 348 7 232 841 16171 18759
204 | 152 641 422 394 11222 12106
205 | 394 514 81 89 3594 5285
206 | 631 440 210 132 10541 12574
207 | 261 817 781 455 17031 19919
208 | 155 104 256 845 20747 23566
209 | 689 105 539 684 12475 14107
210 | 47 726 5 42 22465 24939
211 | 47 173 657 151 12476 13716
212 | 73 600 470 606 3816 4433
213 | 317 679 306 903 23546 24305
214 | 764 965 106 660 1771 4080
215 | 705 938 38 142 7150 10756
216 | 528 3 709 629 9780 12366
217 | 77 359 235 3 20099 21294
218 | 666 188 504 995 208 2340
219 | 517 426 689 891 10652 12301
220 | 80 559 237 969 5589 6847
221 | 677 424 140 795 17379 18358
222 | 317 840 328 492 4380 4759
223 | 518 656 201 494 186 712
224 | 378 301 367 274 11197 11268
225 | 584 827 235 406 17966 20618
226 | 229 110 178 821 8434 10373
227 | 305 985 471 874 5985 6773
228 | 498 934 494 196 8041 9245
229 | 316 274 787 308 5261 6548
230 | 200 3 212 615 19915 21624
231 | 405 734 181 765 21645 22247
232 | 78 559 207 429 9314 9991
233 | 73 801 159 839 21238 21389
234 | 684 642 427 476 8629 9198
235 | 324 207 432 878 21551 23406
236 | 662 421 314 445 281 656
237 | 506 215 254 27 15739 16744
238 | 426 564 793 337 12562 13647
239 | 144 703 519 468 13832 15642
240 | 323 264 567 428 17801 18318
241 | 92 949 494 860 10996 12406
242 | 365 480 606 828 21894 23213
243 | 367 597 298 4 10403 12129
244 | 544 27 50 758 18105 20470
245 | 187 940 705 485 12443 13461
246 | 657 187 799 894 10418 12122
247 | 727 896 348 523 7740 9361
248 | 268 768 376 617 3434 4340
249 | 424 969 700 870 23612 24299
250 | 6 455 131 145 17131 18161
251 | 227 816 658 454 1639 4215
252 | 182 183 600 283 18134 18995
253 | 534 379 563 43 20940 21378
254 | 171 247 177 833 20010 20869
255 | 461 731 626 680 12980 13727
256 | 481 487 452 191 11746 12251
257 | 345 370 559 458 17768 18276
258 | 212 48 83 988 20656 22952
259 | 787 556 533 18 23346 24893
260 | 766 849 142 568 12736 13809
261 | 70 960 521 212 3311 5812
262 | 517 208 599 956 4124 6414
263 | 115 955 198 643 6861 7483
264 | 245 963 300 523 21132 22726
265 | 87 827 77 946 6638 7001
266 | 757 681 714 387 18373 18879
267 | 495 147 33 768 17861 20391
268 | 125 217 373 584 18068 19897
269 | 484 871 376 848 7160 7457
270 | 557 342 412 325 12386 12833
271 | 618 558 373 771 14644 15166
272 | 416 812 386 824 21993 22127
273 | 715 879 347 44 11544 14794
274 | 583 59 384 785 21677 23582
275 | 426 66 420 751 5697 7490
276 | 505 566 462 286 24060 24865
277 | 586 708 407 878 1409 2365
278 | 591 639 361 143 4166 5710
279 | 597 94 414 473 9045 10227
280 | 310 10 183 153 22991 23751
281 | 224 842 511 752 21285 22475
282 | 774 580 750 449 19730 20195
283 | 20 131 10 783 9134 10135
284 | 695 831 187 311 9634 13086
285 | 400 136 569 558 15534 16941
286 | 250 700 775 980 10030 10984
287 | 595 862 798 67 5978 8121
288 | 269 492 252 561 3412 3577
289 | 511 975 61 830 16361 17811
290 | 432 268 46 910 20167 21514
291 | 768 283 770 992 18656 19419
292 | 285 20 605 565 5193 8091
293 | 402 665 534 695 17202 17416
294 | 635 475 512 992 18217 19244
295 | 264 906 722 289 22325 23566
296 | 91 482 772 430 2956 4966
297 | 561 555 125 269 11932 13489
298 | 3 203 346 877 721 3756
299 | 606 724 154 616 20196 21068
300 | 463 972 343 532 13263 14196
301 | 71 674 33 713 3467 3562
302 |
--------------------------------------------------------------------------------
/resources/output-files/a.out:
--------------------------------------------------------------------------------
1 | 2 1 2
2 | 1 0
3 |
--------------------------------------------------------------------------------
/resources/output-files/b.out:
--------------------------------------------------------------------------------
1 | 4 281 228 278 149
2 | 5 161 209 206 123 132
3 | 3 296 256 175
4 | 7 193 93 35 30 186 173 130
5 | 6 290 224 266 252 233 183
6 | 7 13 61 201 250 192 189 274
7 | 8 95 113 14 3 196 215 272 165
8 | 5 127 170 45 59 153
9 | 5 177 248 152 194 211
10 | 7 7 136 140 139 182 288 208
11 | 7 75 58 27 283 67 69 2
12 | 6 105 82 109 115 66 240
13 | 6 273 121 242 100 231 52
14 | 6 24 214 163 238 154 94
15 | 6 108 44 146 78 43 84
16 | 6 107 68 101 55 120 77
17 | 7 294 60 21 98 176 37 169
18 | 6 227 230 172 265 251 9
19 | 7 148 171 122 5 255 145 135
20 | 9 62 218 156 26 235 124 106 126 151
21 | 7 91 222 6 70 104 279 257
22 | 7 133 39 157 118 71 229 247
23 | 8 210 129 277 158 119 51 17 97
24 | 5 72 174 202 12 143
25 | 6 260 198 128 207 142 293
26 | 8 164 299 92 64 191 90 199 1
27 | 7 168 286 15 244 237 112 262
28 | 6 99 19 160 76 31 270
29 | 5 103 50 73 289 178
30 | 6 134 268 147 291 297 49
31 | 6 85 56 111 25 292 46
32 | 7 4 125 29 86 190 205 280
33 | 6 203 263 217 236 219 47
34 | 5 80 284 195 81 155
35 | 4 74 241 22 20
36 | 3 254 117 16
37 | 4 200 239 114 181
38 | 6 110 144 204 243 269 141
39 | 6 259 261 40 253 10 264
40 | 5 246 18 295 23 223
41 | 4 87 79 28 48
42 | 5 34 159 32 197 138
43 | 6 249 220 38 96 185 287
44 | 6 184 137 63 102 298 131
45 | 5 8 187 188 89 83
46 | 5 162 225 232 271 42
47 | 4 276 57 53 258
48 | 4 41 150 166 11
49 | 3 275 267 282
50 | 1 226
51 | 2 88 285
52 | 1 245
53 | 1 213
54 | 1 212
55 | 0
56 | 0
57 | 0
58 | 0
59 | 0
60 | 0
61 | 0
62 | 0
63 | 0
64 | 0
65 | 0
66 | 0
67 | 0
68 | 0
69 | 0
70 | 0
71 | 0
72 | 0
73 | 0
74 | 0
75 | 0
76 | 0
77 | 0
78 | 0
79 | 0
80 | 0
81 | 0
82 | 0
83 | 0
84 | 0
85 | 0
86 | 0
87 | 0
88 | 0
89 | 0
90 | 0
91 | 0
92 | 0
93 | 0
94 | 0
95 | 0
96 | 0
97 | 0
98 | 0
99 | 0
100 | 0
101 |
--------------------------------------------------------------------------------
/resources/output-files/c.out:
--------------------------------------------------------------------------------
1 | 81 7024 574 699 6373 3545 5037 4131 8727 2355 7787 7706 9213 5439 7329 9035 1523 4217 1546 640 336 2036 4479 4525 6796 4609 3503 6579 4513 8100 3243 7766 320 5649 2533 1860 9299 9953 370 1384 3102 4733 7481 2922 2636 6896 7035 38 8053 1158 9107 147 9274 9421 9190 7795 5821 9934 6995 7692 1448 8655 4551 7533 3701 5230 3311 6826 6664 692 1345 4412 7499 5063 5199 7505 202 1247 5895 2563 3856 9697
2 | 79 7615 814 7749 6605 8285 8341 7842 1634 7445 4815 5126 923 6300 5616 8363 5694 8518 5954 8669 727 4359 8214 2892 4456 9059 1030 1895 6784 7859 3271 8866 180 7098 9609 1776 7669 793 1147 7479 1537 3117 7507 3692 5451 7287 8916 9689 508 826 4400 3373 6775 9780 1006 1930 7637 7030 9567 2042 5497 8069 4774 7080 4560 9233 4921 5297 5207 9345 474 8298 3121 8507 1886 6542 8296 1402 7597 9625
3 | 77 3479 9577 6971 7928 710 9851 4098 3345 5164 7034 1601 4187 7082 4022 7503 8355 2048 5781 5606 5636 3083 4476 5733 9456 1747 6814 22 2532 8410 9880 4906 6333 6806 240 5615 3640 4968 7888 2535 1293 6791 5003 6607 2447 8389 155 7446 644 6689 8444 3440 7264 7973 1202 4805 5314 7522 8021 2578 9173 9704 50 9444 1405 9472 7462 2227 975 6127 9431 2763 49 9115 7512 1864 9964 3261
4 | 79 1360 6686 2825 6436 3206 4138 3474 3871 5873 3067 779 8176 7791 2550 5220 8338 3323 2254 2281 8067 6795 7336 7644 8011 9309 6009 6248 9818 563 4812 3168 8851 7360 1705 5858 8048 9003 9199 5272 2801 2652 8852 6363 7551 9867 3281 1214 3081 7074 1265 3200 882 6756 855 250 2283 2097 4433 5065 1137 1884 4673 5204 9978 2284 7576 2757 6033 9686 3530 6166 5705 4681 9193 595 7635 4772 6083 3048
5 | 70 2923 3815 1960 5343 1460 5171 6612 9413 631 1458 6082 2651 3869 8665 1973 2492 4750 5472 1971 3910 4176 7501 2095 3017 3857 6936 7747 7846 1558 1681 6969 527 1674 2001 6429 6600 7004 9505 8657 3162 9758 4398 3134 5044 6012 940 1554 2026 4672 234 2463 1586 3834 9926 1635 3348 7569 9954 3241 4015 7121 5475 1642 7698 5580 8941 1840 2476 2610 8888
6 | 69 5376 1077 6923 9617 1083 4588 8388 771 4924 1081 7547 4725 9743 5050 7532 1229 1836 2039 4462 5559 9318 8521 2736 7389 8913 5447 1625 4934 5789 1035 8720 5192 5515 8582 9040 9437 2108 2933 9724 4940 5155 1198 3739 2840 9835 400 1082 1039 5295 1476 1876 4158 4645 8429 435 1095 6540 2193 1028 2309 438 3452 4257 3728 5891 6960 5401 8286 5187
7 | 80 494 1160 1871 2904 9779 7619 5282 5130 760 7393 8768 2129 1281 4026 4034 6594 9803 558 3026 7891 7934 1209 8050 484 230 6191 4411 7952 1490 1548 4123 6765 7860 1954 8599 9338 7095 1041 1848 4649 5088 2271 2638 8884 1309 3110 4093 5785 2996 7641 141 7278 2622 3120 4863 1807 5919 7028 9304 6677 9122 1861 5833 2921 5695 8020 1919 630 5203 7614 1863 1099 3038 7337 316 2035 2865 2232 9060 2797
8 | 73 5868 1066 5229 7266 8259 4532 8530 2501 7998 6379 7351 1157 2438 7941 588 4961 2336 1241 9789 9869 625 1463 128 8131 3115 4695 4548 5371 9194 3595 8087 3360 1759 3494 6560 1249 6643 2363 3699 7653 9021 8105 7146 1608 6483 3526 3396 8465 4669 9853 4646 8944 8404 1320 2656 3849 6016 8109 7009 4128 5524 5957 6458 8674 2716 7765 2137 1817 2595 258 3003 6513 591
9 | 72 7784 9528 8885 769 360 9654 576 1780 3227 4872 7418 7254 2329 3653 5197 7895 6847 2582 7247 8096 1649 7332 1482 4427 5326 545 3159 6323 7204 87 7903 889 6874 1626 1406 9970 6385 4062 302 470 7259 1453 6431 8195 85 2494 9337 5111 1963 9139 6068 8150 9017 4002 5900 26 3088 5950 6898 7513 536 2682 4573 5582 7554 1599 2805 7046 4683 4907 9987 5024
10 | 72 7379 7870 8574 9518 259 2296 196 1949 6652 7566 2148 8865 5545 6236 1433 2200 3028 5337 5812 7429 9696 925 5138 1010 1595 3864 478 3725 7818 9543 2717 7909 2396 3673 8956 7357 3374 4376 6356 3812 8926 3386 8881 1169 6439 6842 8035 1629 7558 580 6551 7912 8039 6245 6265 3090 9324 124 3937 4834 1124 8466 4031 9578 2435 6581 291 1839 2468 2679 2830 1713
11 | 75 8409 2102 9921 4821 4956 7194 1287 4200 2157 3061 8229 9657 2246 4786 5033 8192 2870 2017 6487 252 3511 7090 7736 1950 386 1957 6120 6757 5094 6163 9319 4322 4537 2485 9963 9664 8373 973 8936 9360 358 4185 6822 9765 8251 501 6872 178 9349 249 8045 8483 3144 6320 2210 6377 9713 8240 8012 8559 6544 5598 2436 5190 8833 2440 6626 2178 2604 4247 6644 894 4870 5432 7638
12 | 68 3758 1576 6833 9481 1003 2648 3075 3118 5550 3931 736 3303 7447 4584 7045 3748 5594 6403 156 942 3695 3794 4529 7694 9515 9690 537 3434 5989 9509 3555 4012 7060 9071 174 5745 5284 8660 5993 5880 7258 4229 4793 7157 4957 2571 9286 5925 4524 9259 6687 1631 5914 7778 8915 7137 3706 4132 6158 7857 9430 5600 960 9321 1688 3805 4371 5367
13 | 69 8542 839 8491 2080 3251 985 4360 7183 7411 6303 3427 5526 5760 1582 7390 7804 8042 516 842 183 4840 2101 4230 4514 8804 780 8661 270 9427 4575 6934 2847 633 6590 8200 2115 5773 7352 9316 483 6629 9719 6435 1366 1411 8139 8722 3982 1583 8993 6520 7126 8325 6649 3611 4867 5145 5628 7224 3070 5595 4341 5946 7990 5794 6059 6884 7672 1349
14 | 68 2732 2845 6369 7059 9386 2405 6017 9805 1064 5219 5704 854 3089 3199 3662 68 1726 6850 3145 3473 3925 4141 6906 6941 3604 1825 3841 9939 8265 988 4213 3476 9073 4126 6563 9198 2400 3301 9740 6548 8043 966 6636 8334 9546 6112 8406 990 6541 5399 7203 2689 7114 7740 1187 1673 2516 7858 8740 3711 8922 7161 1074 4369 8349 8968 5315 7468
15 | 68 2949 9260 3284 9887 2126 3100 8708 2219 2803 4385 7869 1475 993 4082 2548 7557 150 4759 6106 417 2477 7528 9718 3488 608 2123 3056 8999 6390 7586 390 6835 7206 5871 6348 1956 6453 6516 1979 3292 3932 7613 8254 9910 1218 4133 5068 9504 4856 6183 2317 1049 471 7318 9474 7237 1285 5885 6821 7899 9172 7833 8566 9264 2049 2885 7323 9560
16 | 72 8596 9893 6693 6780 5903 7677 670 1149 2735 4758 5737 6839 9671 2308 8188 9326 9967 8908 9051 278 451 1116 9993 6441 7025 8654 1365 2572 3226 8493 2500 7520 9988 2059 4596 3114 3465 3772 9405 5996 7378 5668 172 863 2154 3899 129 3401 6584 6660 9471 7141 6759 237 2637 4046 6813 1383 7416 8015 8658 1718 5279 5527 986 5806 9666 1292 8928 255 4764 5479
17 | 67 169 541 7443 747 5231 5655 310 4190 9007 1363 9768 2875 7649 783 4534 5153 8677 9589 5602 6037 5144 354 365 2743 2871 7886 4499 6802 8711 3485 4735 5045 9555 1891 3435 7079 1921 9400 1567 1795 1810 5835 8703 2203 4692 6099 7959 3178 9764 1173 1941 5248 798 9512 361 7289 7543 4389 6181 9334 9647 4181 4927 6838 1076 1970 8291
18 | 67 2963 5886 2677 6843 5893 2089 2756 6545 190 2145 2946 5014 5487 6329 5851 7383 1934 4654 9681 1088 5756 9905 1929 4481 8117 6003 2781 2152 5070 5112 1274 3040 3747 5385 7089 1466 944 2421 2669 9211 967 4675 8253 2489 8381 871 1981 4946 1134 9459 3156 3883 5249 1762 2626 6105 369 5394 5456 602 1767 6440 9232 6227 8077 1423 1830
19 | 67 3420 4706 5795 704 2702 4608 6809 8304 450 3696 6500 7230 3244 4943 3564 8546 9856 676 2954 2972 3141 5839 6097 1962 3468 3714 8972 6047 7640 3203 5445 9673 7213 2220 8123 39 2075 4782 8064 8263 1875 5347 8175 6754 745 1125 9027 9097 9451 9726 7182 7286 3016 2681 140 2890 9368 4993 5766 2676 3444 3774 7985 8462 133 910 2657
20 | 64 5152 5156 8257 3224 2106 3800 5934 1177 3247 4873 4625 4535 7063 6676 8800 7578 1541 9796 2902 3447 8366 9531 597 3297 3875 4470 8649 5136 2303 6484 7663 5030 6779 6875 4638 5196 7910 7964 6324 7774 9738 1342 880 4049 9276 2552 3835 3139 4822 2802 4459 4693 1733 6514 2796 3547 3617 7752 794 7511 8357 5240 1645 5797
21 | 69 6450 9675 8065 3312 4177 4928 5638 9632 2642 4188 6967 4785 8482 550 5581 7873 9538 5140 7211 5308 6456 6715 1893 2646 2005 4429 4452 4515 5234 7359 750 6684 4882 9018 9425 5560 3425 7066 8911 3950 4420 7643 9634 5162 6991 1409 2951 8245 8854 9433 1016 3158 1804 3469 4032 5422 6085 9025 59 2944 3518 4558 5360 587 8400 2472 2072 3032 6717
22 | 65 3461 4701 9575 6588 7198 3349 982 4753 829 6022 7702 8205 5358 1222 3676 394 4399 5386 6124 6215 8198 3472 4829 8215 8445 1908 3660 6237 874 5338 5546 6703 4999 5134 8991 930 3770 4579 9644 3694 2616 2854 6712 4121 5607 6330 4381 5861 6864 9382 4569 7905 2022 2120 4453 8079 533 3208 5179 6447 1420 1575 6284 6840 7573
23 | 65 738 7271 2265 3700 4621 8032 8239 7201 7832 4236 2935 6794 7385 8270 8907 4115 8122 3130 8905 5901 8293 8775 9285 57 999 4065 7334 4738 6090 6426 2356 4628 6696 8235 2253 4960 1304 6640 1438 7374 6388 7498 8095 342 1832 1032 2491 5772 9058 7581 7991 8014 444 1925 5143 5744 6319 4309 4582 6593 1723 7124 8424 8209 4214
24 | 66 3193 4152 221 1905 7238 8218 4480 5909 4042 3377 3935 6528 7407 2678 8830 1594 8617 9350 2525 6149 4489 8329 9529 6041 8628 2869 43 1167 2221 4473 5498 6063 236 4403 6155 6745 6254 8081 3897 4240 1239 6672 6920 1086 3678 6827 3147 5488 7136 4465 4777 7673 1902 2119 2976 6103 6188 7678 7685 2427 5166 9225 4975 8051 8485 1067
25 | 62 3658 8895 9064 9486 3428 8085 2808 5405 6526 9717 7801 1823 3651 4877 6855 9251 9946 1998 4682 7872 3126 7086 7502 9897 1974 3288 9582 210 2668 3940 7209 2816 4765 6683 9182 1401 1896 5790 1511 2956 2094 7160 1493 1889 3354 7924 3189 1731 2160 6713 384 1898 1916 6316 6495 8208 1140 1707 8364 88 2737 3412
26 | 65 5306 3788 687 7257 5486 6210 8858 6392 200 4077 9595 4438 5198 669 3076 4001 9159 4377 4390 2353 5944 1838 9376 1781 2888 7376 703 1532 2140 5355 6503 7347 2043 2469 9786 5547 3353 8052 9612 9857 4591 6276 8650 974 1025 8124 864 2480 6241 6922 2547 2587 3510 6467 9287 9753 610 5237 6733 7460 8272 8894 9279 879 1424
27 | 64 1819 1892 2952 6267 9412 2310 458 5251 6335 2672 4668 9396 1330 7331 341 8965 3264 9891 5273 5748 9813 1509 2758 9881 2177 2777 4175 9242 58 2216 2784 6994 4451 5266 5809 9588 4528 7218 8717 2794 72 5291 9055 8751 3184 2986 7239 8793 8801 719 1522 7341 8211 8264 1488 6206 5770 7113 8687 2602 3896 5847 6038 1207
28 | 58 9074 1536 2104 4106 6554 227 4837 6202 8308 6739 9668 6767 9205 2690 5552 3491 5958 9458 3663 4884 6587 8233 188 452 1091 6984 2354 517 872 2082 6117 6497 2635 3884 3727 4378 7085 7847 9052 6968 8106 1139 4598 6650 8608 2011 9468 555 4536 9187 2914 8667 5276 7052 1507 3690 5216 1593
29 | 60 9610 137 3426 4151 5061 7118 7850 4561 2024 83 1127 8232 3446 4554 7812 9638 1745 8486 3912 70 5387 3366 4471 6116 8097 8112 426 1788 2504 3273 6357 7601 2493 1054 3649 6113 8540 359 499 2235 2462 6536 7295 622 7605 8572 463 5685 8732 524 2015 2770 3355 4990 2728 4382 5135 7116 7580 4354
30 | 62 862 3449 6101 7026 7062 9854 6244 6887 8348 9258 2518 4526 5707 9637 2439 2893 5236 6929 9268 2740 4997 6204 1846 4980 5921 371 2068 4318 220 8268 8686 441 1404 2859 1339 2298 6902 9469 774 3267 6539 299 3394 4686 7221 7950 205 2939 4862 1918 3594 6421 6990 9355 5617 7310 4425 4478 7863 2544 6034 1069
31 | 64 7166 7671 7868 1985 2601 3328 4124 4935 6785 7490 9561 4833 8519 2051 2410 9308 121 4300 9343 1613 9189 1370 1775 2683 3955 7358 9131 3780 6740 443 4163 4520 9586 96 7798 2302 3963 5091 6674 8561 3214 3874 4017 5031 473 4321 2633 3140 7866 9317 9643 7642 3068 9426 1566 7598 9127 5426 7313 7036 8942 3142 6673 5771
32 | 60 8516 1070 3698 1273 2167 9739 439 4372 5746 6370 7140 9100 9229 383 2459 876 917 5539 6262 3612 8072 8314 9094 2461 2483 3721 5690 8180 3021 3456 4070 5128 6292 7296 8992 9000 1196 1312 5120 5832 9801 5375 7077 3777 4788 4875 4984 8282 4827 3329 3917 8391 4847 4853 6195 7646 7231 2411 3188 6446
33 | 60 6471 4173 5441 8841 9596 1059 3809 3850 4117 5059 1033 6986 8395 9592 1138 4386 4994 5823 7444 7540 4926 5329 9323 5424 9522 92 816 941 1632 2171 3882 4900 2360 1103 4546 8093 4991 5107 1831 3556 4148 8927 4097 4544 289 1491 2509 5333 8017 8796 6004 9450 819 5351 9876 989 2465 7602 1377 1421
34 | 61 1890 4472 5671 2932 4639 9184 549 1809 4737 7763 7885 309 8384 1728 2305 9077 1658 2588 4059 5623 2857 5117 9776 201 1351 1540 1881 285 3177 8949 2782 6362 9787 1282 5115 6562 9009 1118 3847 6412 9384 4228 7695 3238 7156 3464 548 921 6550 207 3998 8544 1443 2432 3601 4110 4559 2286 5802 8258 5829
35 | 60 2879 3726 6628 5113 6895 7880 7926 2594 8821 8498 4020 5585 9580 1042 4630 8627 9864 562 623 4457 110 1943 3862 5023 5052 9359 2117 7893 2607 3768 4089 490 571 833 4803 5554 6086 7545 2566 4345 8857 6524 561 3375 5277 7917 992 7441 337 1980 2896 5434 6501 7055 1272 2799 3913 7413 1972 2862
36 | 61 7785 5988 6774 4442 835 9401 931 2007 2038 9019 1302 2118 9327 1994 7882 8016 185 2205 3713 7424 8943 1991 4291 9145 7622 650 4315 5764 5057 6398 6482 131 6634 2162 5093 5428 5437 7422 6564 7044 2300 3531 4254 5834 8248 9956 1637 2536 6198 7015 7656 8511 1280 9894 723 5201 2194 8367 489 6730 6420
37 | 59 7510 6722 9432 838 1618 409 2708 6266 9116 7043 7100 3507 7181 7651 4652 3859 5098 852 1269 6306 1481 2382 5626 6066 6115 6810 6848 611 3974 4316 5570 7944 3205 4983 4016 5762 373 701 4566 4936 95 1897 2517 6477 7048 7073 7854 6781 9134 1786 9126 9868 4592 7681 9601 2974 5275 2994 9525
38 | 60 5757 4279 7524 7620 768 2088 3579 744 9811 2739 5977 9348 256 4814 6111 9346 4458 5747 8771 2696 3915 4843 4944 5674 7282 7855 8607 7734 148 2694 171 2760 3010 4063 5122 733 6970 8571 6647 7966 8041 8729 184 1763 6577 7809 2860 3525 5845 8636 100 2342 4719 5039 260 7789 6159 5255 6535 8446
39 | 61 496 806 3272 7999 4607 8597 9155 4902 6964 8018 1693 3671 4577 8169 1612 6322 1474 5641 6061 8401 682 2569 4605 2030 5514 8673 9044 3591 4643 8004 126 245 9014 326 507 752 983 9937 8137 8789 9072 594 1429 7483 8027 2868 8073 4246 5549 7995 9250 3383 3034 4657 152 2033 8019 9282 1324 2318 3914
40 | 60 8005 9809 272 1682 6880 7397 7705 2675 3588 4014 7453 8901 3942 103 5863 2789 5188 698 2027 4767 5985 9969 6315 7500 522 9523 1416 3259 3598 6747 5317 6008 7839 1092 2358 7349 7844 552 9446 1569 2543 1336 5233 4226 7293 222 6225 7969 2969 6729 6987 5055 7633 440 901 5768 32 1356 7750 9090
41 | 58 3304 4091 7220 8619 1441 3001 6465 2374 2454 3634 8204 8680 216 7962 2641 4622 5465 6940 8848 1880 2186 3350 4716 6894 8531 2490 3370 3846 9174 467 2482 7978 5313 5966 8994 7119 8186 2378 3656 935 1468 3552 8110 4713 5085 1640 3808 7000 7823 8765 2897 3403 4708 5859 9065 5822 6915 8734
42 | 59 3308 4202 5883 4086 8721 8970 475 799 1909 3487 4954 80 4211 4860 6207 2009 2413 3769 6797 2213 3761 5842 8098 9244 97 5955 7852 4746 1814 2215 3664 42 2596 6193 629 6174 18 2239 7302 4734 7131 9046 1750 2707 6720 7400 3018 6229 4 4908 6533 9842 194 5228 5429 9510 1194 4506 5843
43 | 58 5087 5686 6313 7764 8891 1254 2136 2397 4205 9574 4079 2163 2551 7179 3255 8415 2487 9424 9499 4035 2349 3080 4011 4113 6294 6746 1559 2586 2906 5656 1252 5715 7134 4849 4922 2467 8610 557 3382 3702 3916 3327 3959 5260 8735 9517 4615 6718 8375 688 7440 8838 804 4203 7997 9684 1262 9061
44 | 57 2081 8121 101 104 8595 675 1698 3845 5378 6327 6407 1400 5210 7751 242 7596 7175 5604 7388 5732 772 2687 2927 5678 6891 891 4029 3705 1058 5177 9945 8985 9162 9570 1002 1487 4333 7631 5323 3082 3231 3513 7876 6218 6481 6205 8057 3590 7967 1454 7761 9920 851 7010 1295 1926 279
45 | 55 6387 9265 1327 5215 1910 4311 4634 4662 432 4142 9755 2568 5543 9877 1034 1621 3737 2295 3164 4007 4167 6029 2631 3889 8778 9642 3638 8062 8181 5512 1818 2211 2315 2945 4419 6460 9080 1435 8743 9677 513 3880 3933 3642 7173 7980 648 5548 6566 7200 8227 3066 3313 6365 9181
46 | 56 427 2731 1610 3314 5078 3789 4068 4593 4644 9760 130 2665 4437 5243 1821 5856 6223 6596 5947 834 7017 2256 3750 4618 564 5815 4553 7875 8706 1153 8191 8477 9655 731 3000 3179 3182 4422 348 2684 4939 6168 6798 7267 5017 5200 7879 9249 3290 3647 6075 886 5334 1111 1865 5469
47 | 57 7584 3478 4436 6706 9773 274 6040 6642 1543 4325 6131 7130 8755 8948 578 2712 3628 8024 9771 6152 7881 8641 8728 3223 3430 6578 8441 9011 2348 2828 4343 6793 6981 7535 8842 1805 2837 5817 2023 2252 2710 4394 4108 9784 531 1600 5289 7718 1882 2293 5095 9759 4352 7544 3934 4722 5531
48 | 56 7628 525 1955 3399 5454 8246 6118 4574 4832 7810 2255 3072 4658 7105 8738 4272 6137 6448 8489 9850 3218 6023 7014 8869 2212 4320 9593 6665 7666 297 2046 4085 5564 8798 1829 3096 1184 4550 5411 706 4342 5102 6819 6888 5305 8827 9290 604 1752 7135 4640 4839 6067 7675 9367 6161
49 | 59 2617 2807 4971 5464 6404 6772 1205 757 971 1650 2077 3568 5540 5751 8340 8785 6831 7548 9503 9830 721 1004 3561 4288 5968 8260 1561 2719 1277 2332 2714 3516 6624 9489 4363 4404 9783 376 1937 8399 8501 9498 2639 4846 8981 5723 5936 6751 4549 7494 8862 4769 6142 8086 9314 9692 1986 8141 5639
50 | 54 6808 9511 166 2478 5556 6801 9106 4222 8324 357 8613 4842 6862 7214 1123 3740 8953 9769 195 5205 6771 8256 9767 3063 3589 693 8921 5348 1806 5887 8092 8671 287 3906 6277 6938 9605 2362 5383 7889 9039 9336 1734 3567 5673 8570 224 8152 448 6126 8653 9180 6468 7346
51 | 51 8114 6725 932 2047 979 1283 7463 8094 377 2429 165 6386 1276 9175 511 1289 2753 5082 5404 6459 7317 9178 1412 7380 1027 3838 3947 5193 7382 7938 8799 243 902 6136 8548 163 5574 2581 8271 8808 4527 7670 8107 3627 6494 6989 1135 1573 3756 4044 7225
52 | 54 8924 25 395 4431 4594 5982 9752 5362 5373 7731 8581 2369 4415 5077 818 3065 3785 3873 8697 8998 6427 313 2831 7054 9164 6230 7519 3482 3563 5114 8374 5569 6755 813 1946 3596 6065 6710 7432 9709 2503 2742 4387 8307 284 6885 433 860 3546 6146 827 6641 8541 3562
53 | 59 5537 5729 6255 8575 2820 9616 327 1308 7409 7767 7897 8692 9981 4447 7664 8449 9138 2071 5040 2168 6627 4650 8116 8408 9950 3212 4073 4718 5163 7202 685 1756 1768 1878 2420 4890 5049 8535 8872 8938 646 7291 9873 642 9311 1322 1578 4250 5398 903 7170 9737 2560 3582 5712 2437 8997 2971 4810
54 | 52 3597 4407 9581 2649 6344 6364 8297 9307 199 1001 4712 7458 7703 2809 8719 164 2322 4742 7948 9651 4130 7067 2561 4949 5551 6132 8892 9227 472 3098 5481 1180 1936 7403 8001 1562 1664 3138 3615 6555 6770 8009 8428 2883 5090 3319 4482 5838 8455 9030 9291 2612
55 | 52 1944 5170 5470 5930 6521 7817 2693 4329 7088 8190 9841 3677 3689 7757 8356 1386 3497 8088 2706 8223 8262 266 4413 4917 6475 8903 56 5658 5939 9016 3369 5038 5186 5799 3790 8267 8463 9733 9944 1 3860 3894 7410 2983 4602 9552 786 820 892 1182 4041 8119
56 | 56 2105 3532 9559 3733 4066 9236 9935 1859 2003 4150 4744 9388 1719 2834 3517 6321 7760 1020 1038 1442 2722 4945 4976 5374 6014 6908 9085 2381 2818 3036 8887 991 1467 2109 2323 7610 9614 1827 5662 8961 1696 4067 5813 6119 8605 9110 1504 2680 6226 9004 1677 3537 4008 4078 5457 965
57 | 53 7228 8142 1646 4850 5683 7107 1175 1452 1545 2925 332 3821 7132 7480 8696 53 8918 1129 3225 3765 4680 402 2806 4755 4859 5307 7384 8630 1393 1704 4306 4586 7148 2407 2733 5069 9907 2512 4183 5929 2721 3346 5116 7759 8691 4801 5010 5810 139 292 3084 5466 5965
58 | 54 8770 8792 3941 6405 7252 9846 1119 6071 6371 9962 2460 3148 3409 350 938 5791 735 1317 1427 9936 2853 3116 3648 4614 5820 6046 7197 8737 9736 764 4688 1113 3643 5368 6018 6639 510 1133 2412 3343 3840 7058 7487 2674 2795 3002 4056 4616 9997 4037 4698 2965 4523 4667
59 | 54 5701 5915 7188 3797 5086 2667 6700 1706 4601 6272 3376 3429 3745 4331 4726 4806 6742 7299 7901 8880 301 1417 1689 1380 2076 3171 566 2153 3540 5328 8470 273 6091 6283 6302 7906 321 4702 5529 5874 6438 741 802 2658 3669 8101 9705 186 2277 6380 170 8837 9548 8849
60 | 56 3234 866 5350 5995 6933 9520 9735 1592 6547 4723 6496 8416 997 7184 7338 2248 2800 2863 3107 3999 5508 3293 7976 825 1225 4818 4898 6270 8310 9802 2554 5304 8394 44 1298 1755 2720 5664 6238 46 2169 2705 2821 2848 3252 5379 5097 5176 8662 9013 1340 5495 6851 9113 1073 9081
61 | 52 4920 2320 3712 9379 9558 9900 1757 4475 3195 6052 66 621 1761 6654 6799 6883 7178 9464 7305 8565 6350 23 34 3371 5697 9501 219 605 658 3655 1148 4058 4252 4932 6956 7626 8700 9408 9488 9622 382 5459 6125 6395 9404 1590 3900 4146 4974 6753 9195 9383
62 | 53 6953 7711 8563 8746 497 2352 3629 3681 9079 138 1353 2918 3839 6638 381 7234 4127 9257 553 6992 6997 9241 3277 5159 6260 4392 5520 2060 2391 2775 2773 3477 3560 7174 7437 998 6945 1022 2640 4409 6219 3515 8153 2014 7404 7697 713 1055 6069 8988 9699 7235 7561
63 | 54 8164 1975 6965 8820 8625 1596 2653 6455 9296 5392 9158 1297 5075 6015 3471 4962 5223 6904 454 9623 1800 2542 5680 6506 8995 9341 9544 909 1552 5811 9010 229 407 849 809 1982 4023 1014 430 970 2433 6943 7369 6043 7504 331 5998 8855 5474 5605 6856 7177 9761 328
64 | 55 690 5108 7658 398 7399 9130 770 2783 5471 5846 6476 7268 8149 2711 3872 7565 9691 294 627 5726 8920 6251 6558 7075 8769 8170 3909 3961 4730 8070 13 20 281 2272 4448 5089 8342 2110 4845 8588 5016 5246 7690 8818 9693 3392 5142 6419 3544 5869 3012 3984 6201 7955 4651
65 | 51 9473 972 2185 1683 6050 7316 9254 9792 3771 3106 3112 3613 1917 8187 288 1094 1415 3450 4678 5749 1835 6434 9125 7647 717 2247 8877 2347 4891 8790 1310 6656 8156 4319 5976 7612 9099 7835 9434 5754 6337 6721 7772 7829 762 4819 5778 3197 7340 6143 6509
66 | 53 14 1630 3529 7927 8723 4995 659 1489 1598 3362 6817 9885 3951 4568 5331 8433 307 3861 1121 5212 5879 6732 6811 7391 3180 3986 8860 9516 3085 4485 6454 2276 4563 5300 853 2882 7563 9814 758 980 3886 7654 912 4985 8078 8345 551 2526 7867 9325 5986 6705 4606
67 | 53 8162 8611 714 1966 3605 4781 6966 8076 8817 8975 4324 6389 559 1741 8031 8939 9979 5006 8764 3833 5054 9320 2940 5285 9293 3650 5325 8586 628 1348 8508 8875 3535 2316 3462 4189 6234 6762 6777 115 6930 7001 7187 7878 8893 2394 5319 6977 526 7012 8277 8365 1778
68 | 53 3607 672 3413 8578 1098 4122 5000 5689 8147 1341 2175 2846 5072 7813 9650 1708 6666 1155 4099 7149 306 3600 9378 5657 6750 7696 893 2867 3175 4111 226 1005 1903 7219 3746 2267 6663 959 6053 135 9387 3030 5804 6543 8456 1244 2793 8126 77 1230 5476 5828 9975
69 | 53 7084 9399 8330 712 6359 8089 8238 8989 1571 7537 9898 836 3559 8856 2013 2839 2326 5118 9373 968 1470 2451 8059 160 1271 2150 5127 7127 9087 9238 3351 5318 8699 8762 36 656 8514 869 1822 4045 1078 4054 5340 8695 1686 3389 4243 8382 8526 8547 8879 9708 801
70 | 53 5180 6463 951 3818 6461 6671 7843 5798 6478 1556 1183 7517 9863 896 1782 4232 6019 8468 3005 5269 2069 2383 145 4491 7290 9095 906 2449 4095 904 1657 7661 7805 9034 2704 295 480 2278 4631 5415 9243 739 3571 5666 8451 1753 2442 2856 5332 8772 4120 6939 8414
71 | 54 1019 2301 3219 5064 9597 911 1395 3919 4374 7223 1811 4033 7942 1136 3470 7246 705 3286 3496 4896 9497 9800 47 74 707 1142 8242 423 4297 4790 6154 8311 9929 665 1425 6618 9120 689 1314 4408 5453 6682 7981 9224 3691 2398 5345 5775 6171 7032 9874 9931 2066 1581
72 | 48 3417 7951 8333 3299 246 8036 6250 7968 2727 3467 4270 5482 6279 6491 8040 8383 3741 4797 5158 9563 4597 2057 3086 3795 4198 5256 6711 873 6466 412 4966 7120 740 7482 2973 4721 6488 9256 69 843 6307 7727 8193 349 6231 6243 7442 2496
73 | 51 7738 9397 120 2772 3957 3968 7396 8436 9339 620 2092 3073 6854 8917 8279 2815 4502 6049 7634 763 5819 5872 8471 8870 388 3566 4170 6849 7094 4384 7101 9247 3829 9212 420 1432 5803 9083 1105 4660 8 21 9961 2787 1983 5022 5698 8945 766 4965 5538
74 | 51 5397 5755 2992 4287 4430 6490 8656 8794 647 6766 1246 2236 3181 3550 3918 6308 2192 3013 375 660 1471 1551 1858 3388 5898 8025 3390 3911 9727 1208 238 6196 8522 6384 7255 1738 2891 2924 6078 9266 2238 2599 5005 6552 8167 9872 3806 4761 4914 5217 868
75 | 52 6179 6679 7856 9342 9369 1051 3972 8049 1096 2597 7992 105 2761 5400 9091 181 2445 7439 9466 4397 3047 3245 4104 5818 7564 8741 3603 8185 2471 3053 3783 4743 7553 847 1174 3574 4897 5382 7003 934 8859 8950 6173 6261 8182 12 114 708 789 3623 9583 722
76 | 54 4204 4449 7072 9209 6504 7814 812 877 1587 2258 2450 7484 2054 4174 4338 94 2387 3520 3682 5878 2615 8736 939 1087 5110 5341 6979 7281 9214 1714 2671 5080 7603 2418 4813 5735 6999 859 3463 6268 251 1497 2511 2855 5532 6424 7372 7406 9815 298 937 6792 6606 1044
77 | 49 2531 2577 4273 7720 2224 6852 7022 1461 8679 7684 8387 8431 500 4578 9630 3512 8759 9298 263 4301 4567 5099 5597 950 1045 2292 3235 3256 3356 5247 8904 805 3330 6913 5239 1203 3132 3926 4710 2058 2366 6305 6340 8725 3381 3718 9340 1606 5592
78 | 52 6786 626 1255 4709 4736 796 1769 6511 9838 4207 5309 5417 5561 823 6445 8631 8750 405 1093 2562 7199 7794 414 7559 28 1201 4019 6899 7572 93 619 2142 9140 9757 1394 2217 922 3361 3454 5206 5294 204 1354 7618 9554 98 468 5647 8434 612 6530 6507
79 | 50 9438 9495 5349 6430 8676 1913 2084 4303 5997 8327 4410 6527 7693 1699 4619 9732 366 978 4776 6924 1588 1638 7232 1652 4444 4539 4684 1235 2161 1709 1877 4752 5183 5327 5816 6400 7639 7819 1620 7931 1037 1915 3776 2457 2942 4290 4648 4705 276 709
80 | 50 1721 4125 7435 7592 8320 1883 2249 2861 9218 1977 5503 6095 9908 9777 9826 2107 2182 2481 3014 5665 6192 9020 9103 9163 2415 5718 6748 5435 7262 8840 9977 5342 7227 7826 7939 9568 9924 638 3716 5583 6449 7398 947 3266 5225 7106 9824 3920 6194 7367
81 | 50 1754 1961 6515 7717 8458 9104 5175 8718 2202 3645 7265 3608 6653 3176 7721 8476 9141 368 782 958 2087 9277 9571 315 1110 1193 1933 5267 5702 6532 6972 9829 1988 2785 6399 2319 7946 8047 9442 1789 3759 1802 4237 4244 4416 4418 6257 6658 7412 244
82 |
--------------------------------------------------------------------------------
/resources/output-files/d.out:
--------------------------------------------------------------------------------
1 | 3 6520 262 9099
2 | 3 9702 2007 1107
3 | 5 4144 7904 4898 8452 2693
4 | 6 2343 5317 6363 5739 8606 1680
5 | 5 7329 5864 6072 8070 4996
6 | 4 1480 7003 2298 2491
7 | 7 7882 3905 6462 7028 9509 3864 3134
8 | 7 7314 881 39 3187 6830 3198 9764
9 | 5 2735 8038 4998 4303 7182
10 | 5 5437 6362 8732 605 7476
11 | 3 8160 8991 6834
12 | 3 1817 558 2134
13 | 5 6548 9624 7280 2204 9489
14 | 7 9503 9011 2605 2288 7966 264 3887
15 | 4 2881 6740 6382 4301
16 | 6 6581 3508 5321 134 1594 8046
17 | 7 1773 8239 5156 5763 8721 613 8885
18 | 5 7347 1721 928 9444 3491
19 | 5 7373 8464 2591 3265 1374
20 | 7 5426 4924 2984 1071 5625 129 8893
21 | 5 4087 288 3962 9451 8625
22 | 6 9100 9897 698 723 3705 3630
23 | 8 5377 2787 4532 3877 6169 3256 631 2499
24 | 8 6724 9751 3311 5679 5997 2692 103 8048
25 | 8 4450 8667 4029 3215 8565 619 1691 7937
26 | 5 854 1725 4135 1188 1545
27 | 7 4184 3625 8749 4148 5833 4220 7105
28 | 10 7318 2147 6526 5593 2122 5452 7387 205 9663 8124
29 | 6 7196 8786 1666 2918 7892 5950
30 | 3 5151 5604 9097
31 | 6 2959 5260 4647 2863 171 6514
32 | 5 8868 3828 6108 5072 9967
33 | 5 3163 9447 6935 1586 3749
34 | 6 2261 7205 4942 2379 5505 8762
35 | 7 2382 2082 6181 1816 2242 1572 4735
36 | 8 5424 2112 6689 6102 3061 7970 6145 2806
37 | 6 8167 2662 2344 1486 447 7181
38 | 7 8736 380 2272 5619 9944 8402 5895
39 | 7 7253 8244 2198 5481 654 4460 6792
40 | 9 2512 3090 3117 3173 1286 1119 2978 3206 1823
41 | 6 7293 8745 946 9788 2522 2289
42 | 7 6012 8767 2119 2741 3330 8156 3310
43 | 6 6480 7322 7798 3548 5664 7133
44 | 6 4884 4163 3982 9689 7228 6
45 | 7 448 3940 5674 1554 1155 7345 4127
46 | 9 19 1908 8353 4340 3139 3091 9455 7487 3337
47 | 6 7501 938 4575 6495 1270 1367
48 | 5 1057 1989 8525 6470 5044
49 | 6 9586 3487 8016 9979 7431 9648
50 | 7 7787 6729 7394 4306 3980 3359 6467
51 | 5 5626 4572 1934 9814 54
52 | 6 1433 2646 7653 2517 8251 900
53 | 7 6491 4872 1459 2721 1975 9220 4054
54 | 9 8458 8784 9144 1041 5694 964 3801 6621 7460
55 | 6 4944 8785 7741 8655 5490 1216
56 | 5 4249 7285 7711 6365 204
57 | 6 7438 8272 9880 4810 7563 8683
58 | 4 825 6902 6131 8718
59 | 6 164 3213 7536 9780 6055 7146
60 | 4 2018 6281 446 7833
61 | 6 9158 9657 6353 539 3515 8087
62 | 5 7267 5908 3694 4189 5758
63 | 7 1215 3721 396 4074 9919 2193 2269
64 | 7 2316 4673 355 4624 9742 9540 3733
65 | 7 3795 8395 5794 8248 7817 6207 4298
66 | 6 8150 5136 6530 2400 7496 6227
67 | 4 461 3868 738 3120
68 | 4 5898 9437 2594 4987
69 | 5 81 6692 9028 2698 5434
70 | 3 1209 8672 962
71 | 5 4232 2768 427 559 107
72 | 7 3555 4802 6863 634 1624 5159 1322
73 | 7 2056 7020 397 5658 6564 9986 2544
74 | 7 4869 6907 5393 8432 4845 4612 3737
75 | 5 8143 9844 7806 3252 1213
76 | 6 2352 4789 2142 7945 3703 4614
77 | 6 4689 7867 2381 7094 6943 8934
78 | 5 5480 4046 345 8061 3478
79 | 5 1415 694 9588 1614 6933
80 | 6 8699 1146 9355 7728 1341 7374
81 | 5 8343 1686 5984 3965 7290
82 | 8 1776 9559 1831 3191 4985 7850 251 7943
83 | 5 2648 6583 4753 7100 1293
84 | 7 489 3066 4247 9060 8366 1847 0
85 | 4 34 798 8066 257
86 | 3 4981 5968 2155
87 | 5 1932 9612 4380 1234 8411
88 | 5 1323 9090 6855 2877 8808
89 | 6 5837 4625 6245 2549 7332 6322
90 | 7 8079 4880 8284 5802 4632 8619 8778
91 | 5 6159 2346 7056 8006 181
92 | 7 7746 3623 2374 1724 289 8676 8543
93 | 7 6398 9118 2722 2931 7821 9676 5894
94 | 5 2115 6463 3186 6696 5460
95 | 8 3557 8449 2292 4291 3494 3150 6664 3041
96 | 6 6133 3775 8624 4385 9358 4320
97 | 6 8072 252 359 7584 2545 7771
98 | 5 4112 2412 5932 8106 913
99 | 9 6466 4536 3779 2958 2714 3960 745 7454 1318
100 | 5 4834 3054 7248 968 9530
101 | 6 2910 967 1302 4026 2629 6371
102 | 5 7716 4396 8812 7972 5048
103 | 6 5721 7528 2832 7427 1295 8308
104 | 4 584 3114 4253 835
105 | 5 843 9153 9240 8417 1003
106 | 4 2214 6034 2847 464
107 | 7 7143 4628 8842 1525 8526 3652 4484
108 | 6 4776 9784 2406 3096 6555 78
109 | 6 6069 1644 6601 2111 8014 2840
110 | 7 9581 5031 5394 3689 5164 2946 1705
111 | 5 6921 1917 5917 7168 2820
112 | 7 4658 7620 7638 7443 3610 1698 5339
113 | 4 1625 9238 4868 188
114 | 6 9965 7448 2802 5580 6323 4399
115 | 7 3435 9735 7516 577 14 6014 888
116 | 7 7957 8587 6639 3262 4928 679 3975
117 | 5 1428 9055 9310 3742 9661
118 | 4 245 6602 155 9520
119 | 5 7468 9666 1334 9953 8862
120 | 5 4664 8823 2266 2879 5274
121 | 2 5581 1092
122 | 4 8692 8872 8553 7718
123 | 6 9252 2304 9318 470 9596 7997
124 | 6 2313 1827 9017 5462 8078 6559
125 | 7 8573 5001 2468 5314 8568 6914 6241
126 | 4 3910 6309 3509 2983
127 | 7 3829 4058 8511 5482 8380 4316 3897
128 | 5 6743 6560 5186 6070 9032
129 | 5 2999 8643 8702 2080 4723
130 | 6 9030 7328 7447 8741 6005 1905
131 | 5 2462 2367 2050 1172 7593
132 | 7 378 2141 744 5643 5121 911 6288
133 | 6 9626 4593 8200 4610 1476 4757
134 | 5 6678 4092 2027 8622 5037
135 | 5 8548 4659 7176 2332 3560
136 | 6 8227 5054 5104 8145 4212 2597
137 | 5 2366 5520 8206 538 998
138 | 5 376 9474 3472 440 3407
139 | 3 921 2000 7621
140 | 4 5991 7923 793 6242
141 | 7 6172 7900 1342 4730 9006 1699 5606
142 | 8 9166 3966 9265 1660 3731 1237 8914 1009
143 | 8 8739 2330 5892 7749 4262 5353 1380 8654
144 | 8 519 5018 9068 1252 9575 1899 6445 2138
145 | 7 8489 4665 5708 9009 7279 8080 4095
146 | 4 8664 9333 4114 8253
147 | 6 986 2439 5632 650 8997 6124
148 | 7 3647 3989 874 5303 7218 8234 5348
149 | 6 3746 6825 6036 9435 9775 5084
150 | 5 9526 9889 6811 9193 5578
151 | 5 4848 8257 3216 3118 1140
152 | 4 2524 7291 6249 5647
153 | 6 8645 5495 2682 4486 4751 5900
154 | 6 6220 6340 2021 4323 6250 1060
155 | 4 9459 6759 7589 9834
156 | 4 2577 473 8313 8279
157 | 5 775 2777 4322 9826 6439
158 | 5 3566 9313 1695 9583 2839
159 | 4 853 4244 410 2609
160 | 6 1311 1850 3847 5078 1935 5176
161 | 5 210 6578 5145 3571 4823
162 | 5 9974 1251 3592 5949 3792
163 | 4 2519 3493 7565 4091
164 | 5 1282 7907 1520 6627 995
165 | 7 4387 2652 9508 2197 1736 347 443
166 | 7 9679 4470 8247 7125 3379 5896 4662
167 | 8 6360 9406 2140 4638 9407 3996 4032 8365
168 | 7 8203 2837 1197 3881 3399 8275 1375
169 | 7 7576 9433 6094 9989 3878 7991 1542
170 | 7 3362 6519 9410 7012 1933 6958 9336
171 | 7 3147 2495 4939 1328 2947 3095 3741
172 | 4 1968 2092 5671 7844
173 | 3 9338 5845 8414
174 | 3 9869 905 6960
175 | 3 5783 873 1114
176 | 6 3205 201 3074 9959 2011 794
177 | 6 9477 1271 8779 4240 3180 9782
178 | 7 549 8681 739 1224 7419 2237 8454
179 | 6 3291 6279 7868 6195 9726 2457
180 | 5 6677 5610 9057 4978 9281
181 | 6 6004 2893 1187 5327 4961 9956
182 | 7 4854 4749 2670 5102 2433 4149 9719
183 | 5 8438 7340 7852 3656 6934
184 | 6 3469 9378 3704 8536 9301 7404
185 | 6 4525 4485 5093 2932 8836 6210
186 | 7 5934 9382 9303 2505 1915 6481 9573
187 | 6 7088 4937 1004 1617 9365 2540
188 | 7 5017 5967 7334 8015 7944 7669 8556
189 | 7 3146 315 1179 87 1811 1091 5423
190 | 7 6485 8243 7316 5169 8466 3312 7221
191 | 6 1424 8881 4597 4864 6355 4363
192 | 7 3646 5356 624 9678 3674 3728 4273
193 | 7 9402 553 2649 1298 2229 9958 6624
194 | 7 2275 9219 2178 3763 1401 6187 6060
195 | 7 2904 7810 285 4330 1039 2262 1982
196 | 8 7320 9705 300 8799 7195 7520 9697 329
197 | 6 4520 3278 28 6313 8971 1878
198 | 8 4679 5402 6476 3753 917 8946 7160 9467
199 | 7 9364 8188 8932 1448 5217 8282 5661
200 | 8 9851 9276 4685 2364 6588 3935 4265 7968
201 | 7 88 8029 2596 1789 1126 2993 3712
202 | 5 6272 9400 6801 4768 9638
203 | 6 7309 6927 5835 517 9552 7052
204 | 6 683 6808 5221 9308 8126 3838
205 | 7 6663 4028 9939 6264 3519 6334 8905
206 | 6 7557 1597 3521 6892 8455 455
207 | 6 6922 9630 7616 7027 4412 6717
208 | 6 7562 6122 8316 9542 6978 9568
209 | 5 8960 6149 4082 9653 1579
210 | 6 1595 5014 9441 5039 5657 2225
211 | 6 5212 7109 5027 8010 1802 5130
212 | 6 1912 9187 8410 2690 7408 9616
213 | 6 6228 5901 8545 2311 4695 1185
214 | 7 2465 7361 150 6312 1957 6542 3464
215 | 7 7494 7207 6413 7815 6691 2022 3619
216 | 7 9031 4497 7455 7578 7644 5203 5543
217 | 5 9139 5105 6303 7121 7986
218 | 7 3257 7457 4274 6763 9479 1983 9507
219 | 4 2160 5045 8327 7983
220 | 4 2453 7639 8299 7720
221 | 6 585 8576 8258 594 8165 9069
222 | 6 7864 670 7461 9949 5905 3313
223 | 6 6969 8995 5165 5 5142 8707
224 | 5 5662 9862 1073 4766 9184
225 | 4 1369 6259 6482 504
226 | 4 3816 4654 7622 1456
227 | 7 4467 1587 4388 8603 8863 441 73
228 | 6 3411 7548 1853 1946 4820 4158
229 | 5 9654 1955 1754 4769 3081
230 | 8 6645 3418 3645 5635 3581 3670 755 1120
231 | 7 394 1465 5238 7793 7006 9053 3861
232 | 4 1345 7774 1468 2822
233 | 5 7065 5779 1753 4573 8377
234 | 9 8892 7186 8827 9950 676 1748 5153 2853 5501
235 | 8 4196 7379 6708 754 4708 5897 9792 4473
236 | 4 3222 6552 4181 778
237 | 5 3531 3145 6335 7288 1242
238 | 7 8675 4115 7595 7342 9221 154 805
239 | 6 6879 7633 1591 6683 4 4378
240 | 5 1101 3489 6472 2643 5961
241 | 6 1884 8761 7064 5488 7289 1575
242 | 5 9349 7701 8793 5544 8019
243 | 4 6965 1392 3368 3723
244 | 7 3976 2180 3879 4238 5109 2579 143
245 | 2 6949 641
246 | 6 459 701 4371 960 4977 7950
247 | 6 3990 1255 279 4596 5812 6994
248 | 7 3513 4221 6042 7507 7623 2550 623
249 | 5 3732 3908 6810 2064 1636
250 | 5 2305 751 7922 1000 2421
251 | 4 4784 4386 9154 5776
252 | 5 5279 4038 9966 6635 4799
253 | 5 6393 9077 1672 4454 7522
254 | 4 8128 9249 7151 2886
255 | 7 7227 272 9330 1762 6428 6760 2586
256 | 5 7048 7665 3015 1622 4193
257 | 6 6237 1752 286 1712 5877 3889
258 | 6 4713 7078 663 5231 4611 6289
259 | 7 8173 9720 239 3841 4464 8998 2815
260 | 7 5491 6426 720 8912 3305 1398 2953
261 | 6 6924 9785 9414 9597 5047 4277
262 | 8 1002 2355 2600 658 1578 2763 9277 4218
263 | 7 9037 4404 1631 6791 2798 7144 1887
264 | 7 4309 7080 6574 4847 7932 958 9773
265 | 5 5070 9963 6826 8180 4292
266 | 6 8486 2539 7648 8358 1548 3388
267 | 5 2520 2941 4443 5281 9600
268 | 6 1874 1655 7743 413 9667 3223
269 | 8 5970 7975 408 5080 6660 4222 5311 316
270 | 6 5090 5902 2800 1484 9615 8499
271 | 6 6654 9800 2360 8661 1728 4243
272 | 4 647 5947 1446 9531
273 | 4 895 2398 5979 2795
274 | 6 4583 5888 6977 3599 5401 3890
275 | 6 1046 9524 3058 99 7969 9304
276 | 6 2415 498 806 6369 5570 3644
277 | 6 5711 7120 7497 2137 3922 5108
278 | 7 8555 1634 6261 1469 8733 5033 706
279 | 6 2393 8189 6880 5750 1522 5784
280 | 6 4605 9263 1502 6440 3350 8908
281 | 8 4839 5324 9485 5907 8161 6531 4324 6715
282 | 6 8055 5064 3006 4618 4134 2691
283 | 6 9561 582 2023 9758 2864 8163
284 | 6 7553 2402 9233 62 4925 6010
285 | 6 6197 2213 3550 2472 7590 3971
286 | 5 6742 6634 7050 9 5068
287 | 5 6913 2676 7664 756 6011
288 | 5 2636 1436 2588 9146 7405
289 | 8 5213 7086 9539 2570 4468 4600 1011 7304
290 | 5 4493 5804 2866 8647 2334
291 | 6 719 4209 600 4983 2097 5362
292 | 6 5727 6374 3454 6427 139 9484
293 | 4 6883 7033 9521 6191
294 | 6 6946 7502 5595 3634 9413 8001
295 | 4 1067 5612 1953 2010
296 | 5 3338 6529 9905 4994 6819
297 | 8 6048 4246 7081 1175 6429 8478 2310 6675
298 | 4 8306 7523 1329 5364
299 | 5 1319 1907 1960 7859 4210
300 | 6 209 5101 1647 2403 8205 3642
301 | 4 7802 9725 6256 6388
302 | 8 8521 7513 2831 2957 9242 6436 8634 3978
303 | 6 9817 2653 3293 1673 2069 7851
304 | 9 606 7401 6656 2338 3101 6608 9428 5494 2029
305 | 6 4794 5847 442 5323 2766 923
306 | 9 3168 5716 423 1384 4282 6370 9398 2987 3927
307 | 5 7585 8506 2341 5209 4510
308 | 4 2418 4066 657 2509
309 | 6 4829 8346 4224 8886 5119 2411
310 | 5 629 6247 2925 5162 1950
311 | 3 249 360 2096
312 | 6 2315 6963 7872 8095 5978 5874
313 | 5 9681 9566 167 5251 7744
314 | 5 4582 8051 597 9551 5855
315 | 6 4200 4792 5106 6501 9431 3275
316 | 4 7636 8689 8487 1191
317 | 8 6031 7364 507 3136 6852 9008 3369 2659
318 | 5 9685 2930 2303 1772 7527
319 | 4 320 7637 7760 5225
320 | 4 2241 9868 8714 3698
321 | 7 4170 1160 3512 5329 3062 3304 7157
322 | 6 3651 6970 3201 4287 7095 7825
323 | 6 3083 3925 8492 4398 8473 1923
324 | 6 1993 8705 3650 890 5470 9206
325 | 5 1589 1151 5617 5077 5512
326 | 6 2270 5971 3668 4294 6524 7625
327 | 6 7384 9424 6270 4668 6611 8874
328 | 6 2220 2086 2678 4681 3128 4013
329 | 7 1883 711 7425 2057 1241 6301 1249
330 | 7 4414 8951 1142 5240 6859 2595 6271
331 | 4 1430 686 1687 6613
332 | 8 697 6648 4250 4278 8734 2553 6226 8375
333 | 4 2506 6737 4445 390
334 | 8 7312 1509 4085 7352 2068 5319 1927 4968
335 | 2 5533 170
336 | 6 3439 7788 4076 4971 6212 8232
337 | 4 2660 9423 5354 2188
338 | 5 8300 9363 9713 787 3026
339 | 8 8835 8882 7865 880 9565 2616 1419 5416
340 | 6 6135 9015 6671 4463 5935 6750
341 | 5 1256 2582 6525 1760 3042
342 | 7 1406 3669 6196 4852 2091 4284 6086
343 | 7 5517 8902 1639 3590 8461 16 6093
344 | 7 9675 4807 6884 4407 6915 8125 2897
345 | 7 7255 187 6165 9408 3003 9417 3402
346 | 5 8586 65 8170 9280 242
347 | 5 945 1501 8544 6088 3417
348 | 6 1066 2748 7210 3750 6376 4844
349 | 6 1338 4043 4613 6489 4599 9532
350 | 5 2442 3682 3803 7977 7089
351 | 5 1438 5367 6225 574 8717
352 | 7 4255 7392 2644 5951 9426 4458 685
353 | 5 6053 4584 9288 3782 2430
354 | 3 8686 1371 7025
355 | 7 156 2470 9012 2035 7302 690 2610
356 | 6 523 3476 9208 8356 9493 7979
357 | 4 8073 824 5608 343
358 | 6 2576 4878 2732 6204 9717 9536
359 | 4 5849 5283 7752 868
360 | 4 3424 7949 7269 4281
361 | 4 9627 4206 8596 3934
362 | 6 7889 8809 5215 9607 4049 5456
363 | 4 2718 1506 9994 1708
364 | 4 3968 7333 5058 8910
365 | 5 8917 6234 3920 8540 5003
366 | 6 138 4050 9183 4722 6954 7059
367 | 5 493 4744 2351 8089 3431
368 | 6 7901 5214 6203 3391 9957 4124
369 | 3 8806 5059 296
370 | 3 7134 9669 5964
371 | 2 9723 8301
372 | 4 2995 8197 45 6701
373 | 3 3397 3944 3289
374 | 5 6138 8081 5271 2191 5269
375 | 4 4035 7159 7163 3617
376 | 6 9610 965 2429 891 9434 8166
377 | 8 3197 4630 7915 9328 5100 695 163 1001
378 | 3 4138 1080 7017
379 | 9 5335 1194 3839 7014 2268 1766 8392 3872 8503
380 | 6 8338 3052 3532 5755 6396 4891
381 | 5 9890 4336 7128 5455 8222
382 | 6 5890 7529 1707 6341 5515 9990
383 | 5 8918 9075 36 1268 3063
384 | 4 2573 614 8114 383
385 | 5 6897 2075 9840 2103 5592
386 | 7 8175 5050 4561 7101 7265 2001 5265
387 | 5 8652 7848 9372 1287 7649
388 | 7 268 9513 2299 3909 53 8 8467
389 | 5 2846 6975 8632 8985 4047
390 | 5 9602 3461 9535 5395 2818
391 | 7 1372 2467 5183 9315 9603 7074 9439
392 | 4 6513 6486 7299 3279
393 | 7 9757 2345 1449 1370 478 3945 5449
394 | 6 1040 2231 8140 3759 9004 2671
395 | 2 4736 6595
396 | 6 8955 9186 30 1797 593 5542
397 | 6 1560 178 6089 6714 515 1022
398 | 5 3203 8212 6629 1029 8424
399 | 7 7451 533 5442 7627 5019 3856 3440
400 | 6 9633 1834 4739 3525 7112 2200
401 |
--------------------------------------------------------------------------------
/resources/output-files/e.out:
--------------------------------------------------------------------------------
1 | 3 466 4032 9307
2 | 5 516 2634 283 98 6830
3 | 5 5956 2953 3578 224 7368
4 | 12 3171 987 6215 9389 6071 7780 5629 9025 6055 7774 819 2436
5 | 12 1126 8489 8982 1366 1073 3358 105 6002 1939 6598 5280 7364
6 | 13 4243 1724 5964 9177 2742 6771 8101 5173 3237 7966 7850 3668 5453
7 | 19 167 2135 7163 6224 1215 2893 921 853 4613 9766 347 7804 4600 4940 8978 9404 1596 7690 9604
8 | 21 6284 281 813 7190 39 567 6492 1743 3032 4780 1357 4029 7956 9715 5294 6303 4297 120 1916 7534 7796
9 | 23 6595 7694 5028 8680 4064 5304 9545 8976 9233 5477 772 8342 7945 3081 1628 6053 5728 9347 1454 5216 9018 8670 2497
10 | 23 9488 6190 9658 7776 3508 4776 5924 7003 5034 6469 2190 3980 9813 6517 4416 5110 3906 2099 4832 7934 5178 2879 722
11 | 22 6727 6280 9184 2574 5760 2245 5827 3690 3115 5089 9026 5788 8809 2437 4320 5536 7106 1875 6932 1778 7908 1289
12 | 25 7109 6509 8273 851 5327 7877 6951 4845 4737 3073 8825 5468 1624 4899 2363 8229 186 8763 1718 5507 6142 5365 4821 9784 3227
13 | 32 8983 477 1809 5705 6263 1988 7560 6448 3193 6387 5816 6875 5651 6525 9684 2347 5025 668 6548 316 8243 4075 4783 9523 1615 6751 2516 1136 7839 6279 9481 8265
14 | 20 6428 9696 9236 5298 6304 9055 1519 8150 4774 3971 3639 9114 9536 160 3687 5471 1323 5513 5007 4644
15 | 22 1285 9874 4446 1044 1630 6060 9434 2581 8580 9237 7920 5061 8065 9086 5665 9001 3226 4287 1079 439 5065 3143
16 | 33 7309 8143 4219 6635 5910 2401 3090 7393 6186 3348 4694 933 9964 7258 3963 5379 2974 9480 1230 7064 2035 6903 7263 9578 1859 5158 1594 8174 3045 9113 6524 3931 6246
17 | 28 3179 1566 2198 4980 4076 373 1303 3284 4815 4812 4359 9512 4670 6568 6122 4016 4572 4959 9074 5337 5391 8891 4735 9164 6960 8964 7747 7820
18 | 28 9543 8995 7724 5696 6233 9029 1436 2017 2872 3056 2379 3615 8643 2871 2362 4731 4022 1019 9514 7508 9642 937 8061 2881 9423 8715 1027 5987
19 | 30 3181 1787 4194 2931 3487 6388 5081 5199 3576 7975 361 6555 3282 650 1180 4253 1497 6981 9342 1254 2667 1361 7726 573 3305 3157 7817 3048 3021 4087
20 | 33 3155 6754 4788 6710 5177 9380 8645 199 1749 2520 7001 6483 4054 2839 354 1684 5602 3263 3750 3483 8169 692 8192 7396 6356 749 8916 1981 5897 3159 1773 1793 5953
21 | 33 1942 3353 8701 1322 2868 1668 8067 8734 8755 2826 7948 369 3939 4706 3473 6689 9214 7403 201 1586 5172 6489 8902 1686 8510 6324 891 8792 3404 8068 3008 8240 694
22 | 35 3579 6935 6677 1562 8328 7227 6747 7473 9808 7284 9812 2276 5913 861 4074 9716 2690 9706 4404 3178 8531 4208 2434 2160 3948 2211 7164 4995 8218 5548 730 5559 4712 6576 5255
23 | 35 4066 450 5206 6699 288 4976 5171 2992 5619 7675 6856 301 4401 2948 5874 8095 7750 7159 9674 4085 5242 7504 4846 9656 5328 1514 5599 2104 6248 9030 7192 3074 8096 8694 470
24 | 42 6975 207 2648 3496 6117 8339 4718 1178 5875 4350 9439 9329 9267 2947 4130 7706 3303 6321 5519 8901 7888 8217 9405 8996 8612 2665 3230 5358 4462 2340 6688 1937 6929 5864 806 4913 1270 9045 3422 2952 4235 4962
25 | 31 7427 2736 4529 7625 8620 5360 5802 5440 799 9763 8384 623 2226 4434 5692 5986 9726 875 5640 4305 3864 2905 7905 7463 6916 2498 8583 9724 4539 8194 973
26 | 37 5952 4088 9930 4067 5671 5244 425 6296 4882 6976 5330 6147 2741 9409 6306 588 5060 3621 1582 7495 4709 5625 1729 1658 7469 9686 1337 4721 8712 8749 9916 4695 24 547 3006 5392 8392
27 | 38 9890 7662 3534 9891 2003 7430 238 8036 4758 2689 1557 428 7740 5606 7112 2753 1783 2837 9893 3004 5498 6106 5750 4513 9875 5203 9972 3994 7281 7490 415 65 4714 491 2267 2587 3913 341
28 | 36 45 6610 3268 7867 130 1505 5201 2960 6256 8794 9760 2502 5198 5689 6545 639 758 5958 4470 2899 5131 7433 6199 5981 8252 3141 3559 8567 9193 121 6762 1184 7854 5618 2254 6148
29 | 35 1788 7648 1575 2096 5084 7927 3300 3379 5064 4785 2076 4749 2324 2108 4704 8221 7189 2366 6101 6880 372 29 8160 2398 634 8117 172 240 7705 145 6442 1369 1522 9192 6787
30 | 39 862 8678 1768 5798 5134 5574 7405 4387 8458 8603 4281 5530 1618 8558 1879 9367 7792 1667 920 5577 4043 6957 9000 1432 8054 7 8557 6281 4848 8556 4176 8077 6153 5526 8928 7470 2582 8945 9403
31 | 42 8205 7006 701 9537 9407 7087 4089 8569 2310 6409 1680 9919 5096 4316 6582 6893 1698 1721 7588 7099 7739 254 514 4207 8016 6297 5458 6109 1041 770 7799 9602 6040 5402 4746 1022 9828 8596 696 6656 447 9895
32 | 35 9475 1752 4753 2253 7528 5857 9489 6562 1433 6690 1620 972 4985 2413 9311 92 7363 8341 3747 6180 9935 8495 3928 7266 4173 8716 1277 5677 6972 3652 4407 4354 6189 7775 2936
33 | 31 9321 3911 3064 8717 7719 6752 8389 8182 1545 5974 2004 115 2683 984 6072 4365 1706 1046 2333 6528 1008 7963 5141 5922 5363 4663 7972 5344 9950 511 6906
34 | 42 7782 61 7689 8745 3036 629 8368 147 6007 9975 3318 1821 1317 6230 7105 3817 8437 5830 5289 1771 5132 4448 8401 4118 4451 5672 8459 329 3089 1513 1510 880 8408 4517 8376 4222 9579 127 6587 4256 9802 2388
35 | 38 4759 2069 8699 5598 2524 2201 1373 3556 3784 3234 1020 1525 7484 5297 3315 3974 4180 5443 7700 7499 3884 8171 4837 5893 6834 876 4362 5575 6713 9563 6920 2616 3734 3355 3038 9109 9555 3767
36 | 40 4397 3260 5846 2137 9416 8442 5896 9986 8289 8728 718 7122 4823 292 8721 189 9185 9250 99 1142 3287 7681 5746 8140 6127 1426 5605 7665 8126 8388 8852 7440 7220 8202 3274 7261 166 6663 2291 9163
37 | 38 4467 4398 8781 3765 2085 795 9462 550 5496 2415 5490 9973 1723 2923 7056 863 8560 1382 8029 3754 1845 1649 5697 4013 7818 1155 8635 3613 4741 2559 2093 8708 5918 7729 7270 8317 8771 6091
38 | 45 570 1831 4805 1359 9797 9459 5815 7890 6046 3335 7185 7840 9107 91 4566 8463 5429 4687 2068 9332 9628 5118 2967 7033 8942 1050 1413 604 8133 7510 3475 988 7497 8719 8451 6858 783 7858 8484 9947 5877 4526 4419 3901 2451
39 | 35 1141 7735 3632 5511 6504 949 9121 7142 902 290 1643 2207 4732 6586 8536 6508 1102 611 7273 3327 1611 8704 9744 2222 8203 652 1634 4798 3092 6094 3106 3366 3540 9786 4329
40 | 36 2038 2414 3302 8027 8277 9848 5739 4465 9310 51 1971 8623 2122 6997 4601 1135 2387 9011 2231 7808 5246 2700 8354 9402 1324 2405 8323 9788 4381 2189 3218 9731 5712 852 3952 4659
41 | 42 3440 8346 9446 1204 6729 4259 5942 3536 1257 4472 690 3741 7745 6329 9634 2052 4583 4851 5731 7795 6963 4609 4541 5415 7716 9801 7226 1945 9859 5234 3424 8788 8058 7617 3311 8893 2544 8501 9349 3829 869 9358
42 | 35 3581 8625 1196 4476 1390 1659 9504 4639 3420 7317 5769 1064 5012 2337 2021 5905 8332 2632 4750 4836 2127 8208 3294 6840 9004 857 9181 4840 575 4412 2329 5621 6496 870 7887
43 | 36 4801 7151 676 4018 4082 4514 9708 3513 204 1082 1852 2651 5781 3942 9359 7146 14 58 2492 3252 7506 7646 5620 6691 9102 2177 4510 1974 6631 3779 9244 638 4337 8782 2431 9138
44 | 43 156 6198 8103 6959 5545 460 4415 3009 1644 8464 7412 8005 420 1767 6572 392 2943 9363 3131 1292 7557 4288 1535 9299 3638 595 8321 6984 5087 136 3395 6031 1031 9399 6254 8032 7413 8081 4619 9100 5044 3531 5698
45 | 35 2717 1437 5209 3367 8957 1299 3151 883 5350 9835 9792 4343 9279 3184 905 1379 5444 8703 4744 7954 2787 2529 7224 9318 3438 197 4061 8823 344 455 9953 3406 3870 4871 1851
46 | 37 5388 4878 7957 3412 8204 5401 3205 4726 7466 7037 6882 909 9739 4925 5880 4340 7365 1710 8379 1645 5421 4301 9313 8173 3626 7827 9652 640 7687 4271 6076 8660 8542 6235 6942 2942 3808
47 | 36 6599 9435 854 1608 73 3347 8494 2644 320 3037 4885 3670 394 6082 781 4488 1 8336 7437 244 2898 8380 3658 4781 104 1479 1153 9978 1943 7090 6022 8743 5928 3080 8548 2103
48 | 39 8434 4937 2049 6600 3225 930 6452 3243 8262 8876 6473 2120 384 9780 8938 1091 76 855 5817 998 8210 4902 3960 4596 9843 8280 1332 7169 3521 2566 2618 9082 6203 581 8305 7435 371 8114 411
49 | 36 8850 3149 7516 6563 2916 745 80 1118 4691 4047 8931 997 1742 6601 1034 7242 3401 4276 7630 3650 9598 6649 3261 9345 7959 1438 7067 7711 4150 8485 5780 3589 8768 1559 9770 7649
50 | 37 476 5245 90 3698 6756 5031 7603 3851 2053 4393 7993 9281 715 9057 6927 6310 2235 8200 6521 1392 3571 6758 9896 2259 7874 2605 7306 6801 737 1957 1975 2275 6881 2968 9607 3071 6898
51 | 38 5030 7256 5703 8399 9601 1909 5233 8134 7060 1049 5151 8991 4975 9093 5384 8153 2183 4002 2897 8482 270 5187 6904 1720 9016 7783 122 3219 3542 4326 1375 5593 7029 7174 8774 6955 6625 5193
52 | 32 94 7047 3322 6123 6262 4828 3528 1269 8808 2760 3743 5292 5691 2148 9334 2631 7656 1341 2173 9316 7350 520 8127 859 7746 9517 9285 8880 9968 3529 2678 6216
53 | 42 3363 5254 5387 8829 2205 3903 8575 8250 8266 5863 8737 9870 1603 4229 4168 8350 1489 858 1171 7007 2206 193 3408 923 4357 761 4142 8181 3564 2356 6391 6290 9667 8606 442 5430 3796 4811 5527 8374 8816 9932
54 | 42 820 4766 2874 1415 289 5126 3984 8911 3158 9885 4577 4929 5121 7680 5018 4376 8124 8223 210 7702 7622 335 7271 180 3068 9396 9530 6107 2159 6067 6273 7551 3729 2927 3717 5813 1385 6029 2585 4063 9782 9697
55 | 41 6440 8057 3681 457 1691 9454 9937 6419 8687 472 9690 7243 8511 9127 1908 4918 4546 7757 2475 9400 1047 6807 7196 4557 7079 6777 6558 6853 3751 6158 8508 8818 6086 3510 4908 9143 235 5717 3530 3826 7911
56 | 42 6042 2090 2563 9992 4944 7026 2239 3139 4950 1609 4017 9274 2835 1349 5382 5811 3695 2389 5015 5306 9424 3677 8370 299 3723 3485 5164 6394 9608 8739 9722 9069 5521 1576 6308 3979 3467 3421 8298 6626 5789 9346
57 | 40 2156 8039 4119 9695 1835 9940 4096 9133 7356 1549 3069 2028 3058 4658 4092 4779 6624 5356 9325 2327 6802 9730 2047 8300 7314 2575 4537 1857 3498 2856 2360 3450 8018 2501 5985 8522 4540 6680 1551 2288
58 | 38 8709 3832 4543 5503 5934 5456 357 9856 9339 8238 1419 334 6399 628 3250 5191 6170 1517 2006 2131 2596 8161 9048 4203 9433 3947 7524 9022 1682 6222 7152 1287 6490 6722 9829 4135 1235 2810
59 | 44 526 3233 5500 5889 8415 8026 1100 9027 2775 7116 7621 6854 1242 194 5070 4223 7785 9365 4179 1919 3393 6996 3657 318 2326 5013 7210 7333 5853 8973 7017 4209 6852 8690 3112 6408 5305 2866 7951 9152 8619 4418 3857 4347
60 | 42 3720 5675 7969 9699 2301 685 4457 8532 9889 168 3785 9089 8832 7928 2998 5611 9458 9256 5993 3389 1057 3013 8529 100 5393 4220 4225 4971 7736 5085 9331 6661 4105 8197 2990 2938 287 5092 3474 5970 5269 6202
61 | 40 4960 9049 7674 9635 3899 5461 9943 8178 8541 1306 1802 4413 2955 3407 8661 116 6044 3684 8990 3463 9421 1780 2420 260 1733 4445 2172 1501 1183 3838 3002 2454 8695 8979 4827 1655 9991 7194 9799 5107
62 | 36 5919 8849 879 6554 6105 5074 4831 9970 6357 8877 9809 4425 4914 1418 6836 8139 716 2951 864 4554 7198 9195 7451 9657 3022 37 7666 8343 1811 79 3760 2105 561 1399 2467 3595
63 | 38 6507 8835 3460 9366 5658 8904 5142 358 5793 527 8899 6145 7459 2165 4167 8867 1416 2466 812 6775 5165 9938 7254 8312 6455 3627 8104 4681 9524 3943 8846 6141 1446 4961 6325 4998 8682 5638
64 | 38 6430 2996 1038 6925 9385 6718 5969 409 6615 6860 1435 1000 3850 3975 322 9010 7088 2549 3961 6962 2445 6372 4863 3809 8600 4675 1500 9364 1546 2824 4688 2779 7156 5374 3601 4268 3570 4901
65 | 40 8450 6261 6671 5008 7235 8851 8513 7974 1160 7916 5861 3654 8655 2989 266 2050 916 339 1621 4602 7853 3470 3567 1195 9046 4770 7786 707 7204 8405 735 8929 9819 2862 4461 2999 7399 6755 5320 9556
66 | 39 3016 6392 5832 7096 9183 8793 2318 4003 6847 7268 3336 7939 7340 8538 3174 9618 6811 278 1719 7102 7848 3466 4928 7599 3276 5753 137 4536 6848 8287 5300 9065 9912 5032 3985 1727 4897 9841 969
67 | 36 2822 625 4126 7572 1822 9467 6295 1174 8486 3429 1683 3415 1460 3003 1701 7124 6644 3602 4399 7141 6349 9746 1850 7182 3977 6702 9028 6316 6181 1266 4224 8776 7654 2956 1637 3399
68 | 37 2870 4701 8282 3118 9777 9242 5759 6057 1639 9461 9733 5407 4997 4565 5137 3228 5249 1467 805 7237 8752 2225 7206 4475 248 8705 9105 5656 1591 5217 7444 1815 6532 9170 7805 2623 7577
69 | 39 719 2711 571 8549 5144 4231 8958 8441 2679 1081 6188 4021 9750 798 1176 2262 2800 3061 1494 744 6146 7628 3052 7825 7269 672 2621 7255 6196 6782 9176 7807 7520 1263 6637 7214 4923 8395 63
70 | 36 6005 2168 15 8910 5435 6359 7316 9798 1304 6666 2116 1003 7150 249 9552 844 1950 9570 5841 7447 9005 9981 727 1463 2932 9623 9063 4039 8554 7048 1115 7930 3663 9094 8314 9600
71 | 39 2442 5237 7442 3764 7416 5525 6816 5901 8913 3486 2748 8488 5512 8398 2511 5699 644 310 9287 9169 7898 9140 6884 2910 6054 5799 6514 1569 3357 118 346 4463 5232 2248 3909 7123 7741 849 1868
72 | 38 552 3312 2940 5241 8327 1422 6275 9494 422 2266 3489 3439 3863 5106 6252 6646 9326 86 5565 7591 9066 5123 6967 7127 246 6604 7446 4528 483 2449 7339 8308 1978 2505 2119 7926 9431 8799
73 | 38 6197 596 7639 8324 563 4436 8697 5416 6868 1604 365 9725 3055 3545 4564 1972 2615 4218 4328 3927 5056 2625 1156 6958 3976 2827 4102 4606 9369 9108 5408 7754 3859 5215 7789 9003 7049 4585
74 | 48 5876 7849 7642 3209 523 1140 2304 8950 8615 1756 4252 4175 1414 6411 9477 9994 2303 5509 5425 5404 7068 4952 4423 922 4598 9381 9668 3605 9734 4740 2029 4911 1291 9088 1157 8086 3600 142 3841 7376 4646 4984 9080 2357 824 9748 6952 4964
75 | 37 7229 7313 7175 7918 3283 9772 4553 4302 2920 5238 4306 391 1647 3484 1695 2404 522 8498 5252 538 3869 7103 2460 1252 3964 5544 6383 9142 7480 296 3163 464 2533 8011 9293 2493 7917
76 | 43 804 7855 5595 4458 3844 9621 5086 5797 1131 5166 4273 9356 3604 4500 2846 3565 7522 1849 67 6178 8886 4930 1353 2485 8847 5331 8107 2164 9162 2750 2628 2002 5743 3900 828 4449 5560 5776 2572 4411 1464 7134 6575
77 | 49 327 4852 9151 9360 3991 1424 8949 6313 7752 6485 8634 9585 5596 7349 8000 1810 8874 4204 1792 3553 5309 2825 6176 9261 1170 533 297 756 4162 8259 5464 912 7879 8473 3539 1910 4427 9550 4468 149 9759 9023 8582 4680 8037 3062 1738 3188 2084
78 | 47 2584 3902 3665 3258 4238 5908 128 2399 9224 5949 2519 5022 2908 2238 5168 1735 5856 4444 7135 6672 359 3147 5441 782 7118 4813 2300 3641 8757 1231 8420 5573 3773 6645 4324 959 7669 7895 8637 2691 41 4890 8412 4111 277 6632 7414
79 | 39 1826 3104 5069 4169 667 7020 2768 4030 5446 7296 5916 1610 3388 6531 5501 7766 1933 5135 9757 6594 386 1346 3088 985 500 6243 5933 2543 6420 7073 826 8533 3196 2709 8953 4973 5779 1071 6596
80 | 46 8372 7901 1660 7871 271 4165 1264 9752 9223 662 8968 4174 6472 5900 4792 2132 7811 1045 5568 1929 8378 7167 3211 367 4538 4240 398 7200 9518 1090 6896 776 293 1953 708 8985 7303 2732 5649 8164 2844 2796 6542 7165 2249 6627
81 | 49 7914 8299 5197 6796 8875 3682 2140 7575 1631 7436 1412 4486 792 5167 8553 2601 8588 1039 1207 8358 6183 532 6581 7429 6137 7130 2811 6698 2757 325 2299 9985 7083 5891 5807 3569 9275 8449 7461 7933 8962 1305 4384 467 3758 3962 8479 503 6301
82 | 37 2995 9714 9336 9157 9075 7728 5693 4358 4640 8493 5119 2808 7983 1321 8509 8371 412 9729 5346 6518 1598 8291 2473 8537 9897 8059 6536 1006 8382 9691 1790 7119 6921 5317 2807 7568 5561
83 | 43 9191 4891 660 8472 4634 1134 8439 7147 1152 8831 5163 1167 4348 3156 8477 9562 8214 1256 8369 2412 3094 3317 9414 7587 1122 4862 4051 3418 6124 7635 1234 8069 8430 3935 317 6077 5715 6534 9869 4352 6269 5002 6405
84 | 39 9738 1805 314 766 1681 8778 2138 2359 7769 6795 9451 8131 6609 9231 2178 9216 6780 3543 8605 3896 9455 8175 2364 8333 762 154 913 1274 3097 4920 2875 3426 2491 517 321 4947 3957 9204 4915
85 | 36 3875 4568 9136 8592 9590 7845 6634 9220 7117 5133 3813 8391 300 4579 7816 403 6993 3978 2278 8031 5001 5150 7624 8767 6023 5321 5414 7892 898 5039 3699 8585 8918 126 578 8465
86 | 37 8033 5465 2234 7760 6845 7937 910 7864 158 236 1411 7605 9126 2286 3144 6918 4696 9983 4471 8475 6166 7737 7208 8608 6641 8357 6608 458 9198 7987 5180 3527 4895 5489 5050 7997 2925
87 | 41 2713 3247 839 5865 2858 6864 4311 9123 4917 5724 8897 1229 2247 2313 3648 1837 7209 4136 6206 865 337 2193 6841 5447 9021 5594 1823 1977 6870 9137 1979 7434 8188 1538 1281 2094 5926 8402 3918 7063 531
88 | 44 835 1959 4260 8152 2152 3210 5129 170 498 1123 2914 590 1487 1165 3479 311 5277 2799 5906 7767 1889 4921 5488 2032 9666 8601 2043 8056 3822 438 5623 1949 9597 6913 1475 2638 4664 3478 9586 3719 4762 6633 6730 9212
89 | 39 9670 2823 4760 2550 1377 8267 8657 5829 7944 8093 9675 8001 2078 7925 7377 5442 3456 4199 7431 9453 492 5505 1265 1931 4842 3245 1116 7241 7565 2461 8344 1078 9036 8738 8105 5633 637 9768 5674
90 | 46 1179 1813 9814 2378 5837 5475 2614 9612 6889 4192 7176 93 177 5222 6185 753 8862 9178 3685 2589 3446 2204 2939 9876 6418 9647 2660 4654 8233 6839 4405 1388 4755 5710 5099 5286 8648 2991 2537 2345 2789 4682 6266 5851 4097 9941
91 | 37 4830 4611 405 4091 89 6983 3201 4710 9836 7327 7910 3904 3281 2525 9420 4647 3563 9207 6544 4011 6350 5622 8367 3342 8301 2073 9206 1699 2486 8014 7647 2095 1227 5257 6647 2494 960
92 | 37 7678 5771 3953 8073 8756 6128 2728 2738 9762 7409 3608 1867 7838 6337 406 3889 4351 1146 3786 7221 1225 6417 6396 7821 8930 2458 8888 5792 7445 441 9977 617 7002 936 1791 4978 3082
93 | 38 3501 2526 6474 3442 8766 8046 2840 4597 9648 5587 7777 1516 7709 9218 3807 6298 6510 4230 3137 4414 7994 9017 2271 1043 1075 1284 3966 4245 1687 3768 3374 9849 9064 9987 9894 7593 2907 9918
94 | 42 7793 6294 1191 2228 874 6444 2346 9915 4083 4134 6675 2680 5514 59 5175 8335 7941 1144 225 3828 3926 989 8148 2283 6714 6940 3596 1581 2754 3549 7943 5271 1814 4283 2619 88 7791 6495 5795 8574 1503 5486
95 | 38 395 612 1764 7014 3259 2058 7201 4251 513 5772 9415 525 2629 3298 9857 4689 6665 8038 6908 4215 1536 5385 6343 1757 4649 7640 7085 3221 9226 5140 6769 2571 3168 103 1928 2809 1665 2786
96 | 38 187 3039 5886 3391 8681 4495 7149 1245 7607 1689 9260 1307 8325 2011 5124 1069 5770 4761 4090 1054 8461 8034 6438 7550 1334 5339 6642 8905 2503 2109 9713 6704 2478 1820 5609 6435 1428 2217
97 | 44 1109 1512 5324 6410 6255 7259 1055 2747 9241 5784 2771 4588 8123 8211 1326 4163 8677 3637 228 8191 3812 5220 9547 8597 3129 6075 2309 1973 6946 2272 4778 992 3788 5518 6131 4651 8633 6660 4702 253 3840 655 1533 6371
98 | 49 2851 5266 9589 1746 6363 2186 1241 7232 8966 1794 2352 9546 7061 252 6522 3167 7614 8213 6590 3277 9012 8824 4081 7025 5006 9430 8650 6629 5982 5810 7578 8671 1970 9511 847 6047 6733 8785 50 8838 4450 7457 2308 2088 7900 5491 8744 9354 4556
99 | 42 9053 4804 6200 2876 1247 5258 208 5348 7022 8970 6393 9753 9153 3215 5189 5659 4782 1206 9654 3798 6763 2220 5075 2060 6628 6724 5394 4023 9920 9125 364 4508 5765 9306 6636 6260 251 717 8895 2567 5591 7756
100 | 43 352 9868 3551 4794 26 5653 3582 1961 7279 6731 9790 5850 2917 9425 0 901 7802 4374 3454 7336 2382 7157 9694 3152 3674 5026 4310 1781 1906 2229 9473 7570 3924 284 5684 2282 4319 8302 9124 7738 4380 7540 6422
101 | 44 3636 2734 1925 3827 4574 750 9791 6664 6481 2024 3573 8718 4692 2562 4880 620 7670 2030 38 6191 3635 2743 8925 1963 30 9681 9923 8226 842 9429 6193 1026 3725 7657 9013 6467 8433 7332 9905 5747 8070 1327 9827 7688
102 | 45 8141 2785 6092 3462 3177 404 1558 5714 1441 7065 1707 1151 7513 4630 8274 3431 7771 1548 5803 1642 2686 8334 5504 3700 4072 9712 379 3400 4027 7231 755 9867 8947 7814 1663 9132 1110 3397 3661 8241 9765 7521 6038 5991 6511
103 | 39 2603 23 7343 8870 4327 1025 7180 5682 6547 1904 5838 363 313 4665 7374 7330 778 140 4633 6721 815 2979 5067 8155 1336 6678 9823 8720 9298 6934 1902 1018 2214 1333 2257 7843 9015 6784 7527
104 | 42 3756 4949 4060 702 540 2051 5349 5051 3410 5670 4969 1759 8700 6436 1423 5023 7039 560 4290 1182 1796 2903 8621 9290 6006 7626 1632 7999 370 3031 2580 829 8806 6194 1331 1570 2626 809 8244 4956 7537 6413
105 | 42 7633 7148 8383 8118 4050 8584 1004 8834 9554 8993 7062 2289 1248 9526 2325 9370 9228 8035 5782 9344 6282 2419 7181 2312 6288 8230 759 3365 4234 3296 4484 2483 2197 1728 3208 9710 5787 480 1678 2523 8387 5273
106 | 42 4523 2150 8097 9592 9956 5263 9816 780 6177 7800 9395 8526 6538 9531 7305 4031 2260 5200 6238 2044 5152 48 2645 3568 2187 3499 6120 9676 801 5563 72 4216 5676 3910 3727 4666 4580 9542 1739 2016 1993 2894
107 | 41 1769 8595 2921 528 6857 9732 9515 7351 8663 4887 4478 7790 2654 6708 7071 3402 4079 8552 3078 8337 2759 2019 9616 4149 5426 9595 6939 5927 6938 1619 7548 9521 6579 9277 8736 4631 2828 1891 953 9410 7652
108 | 42 5645 4071 6597 429 2141 2343 6766 908 8471 7650 9583 499 5183 1226 7661 8815 1934 1490 9769 4578 1308 6338 3067 1828 6326 8827 2128 7160 9663 1722 1703 5932 752 9291 8527 6569 6943 9422 3956 1690 1990 9418
109 | 45 7132 1824 8961 6980 4808 1860 8543 2971 5855 4926 8711 2608 4394 6912 4545 5355 1898 3362 4864 2397 3839 2900 6129 6552 6591 123 4883 8519 4496 9567 3162 649 7357 1901 8209 2471 3673 9348 113 7154 2203 7089 6404 2719 2994
110 | 40 9058 5532 7569 8503 3575 3811 3 8237 1442 9520 704 8572 1888 1238 2281 1301 5090 5791 161 3584 4295 8686 3730 5758 1832 5688 3325 5357 2133 6285 7762 757 9603 6 614 8779 3958 8959 5285 2791
111 | 39 6001 4773 6245 8540 3396 6322 2677 3804 9619 5639 8641 2499 6715 8055 7195 9728 2946 564 2416 9501 5804 7072 1272 4549 7673 5236 6476 8496 5047 3538 206 1108 8576 4346 3451 8731 6561 6546 3810
112 | 35 5097 1816 5476 7244 4 3518 9817 5706 3619 9270 8689 8617 4990 3434 5818 1371 6115 6692 4477 2462 938 64 5038 3740 9614 7070 9271 366 5814 7465 4342 9840 8658 7655 75
113 | 41 8502 27 3860 6250 6351 931 1913 215 3079 760 3297 5159 9376 3925 991 4140 5083 6892 9845 6772 8051 4157 5239 444 9266 1502 4991 2733 6605 7034 7420 4912 4265 7052 5660 5711 2311 3083 3173 5473 496
114 | 35 8561 5057 3815 1067 5898 1175 3350 9384 9961 4048 2298 4542 9529 3313 4520 6398 7126 7013 4033 505 4570 5463 5288 3566 7372 5722 8427 4000 374 2865 677 7474 8062 6159 2107
115 | 36 6424 7030 8386 9984 9378 6113 4123 5368 8500 8022 1541 484 576 7415 200 4262 3989 4833 7586 7962 9483 9596 6365 9295 8869 7023 2726 9965 1381 7902 9034 6667 7921 9388 4690 6479
116 | 40 666 4077 3628 6890 69 8074 2293 4636 1560 163 3103 7347 5315 8723 7693 5879 1986 545 9497 7300 7873 5909 1358 1661 7564 8425 388 3253 5778 6529 7452 7092 3862 4733 8043 1105 6377 6498 2067 5666
117 | 41 1434 688 7031 1924 3694 3763 5207 7519 8890 1076 9640 3520 6793 9149 6550 7472 8505 3435 4986 1262 3721 5540 9122 5642 5971 1033 4453 8839 6083 7571 3029 2377 5888 1443 5995 6059 8487 4548 7772 3101 5738
118 | 40 7318 4447 2652 2554 6687 2000 2930 7667 4093 6622 939 3182 5556 4524 5055 4958 1121 2857 2610 6368 9824 6809 6291 7385 1530 8707 7248 8288 1654 9644 3414 3133 7523 6136 6431 2776 4954 5418 3107 233
119 | 46 9858 4473 8730 7566 8431 2573 5680 5251 9096 8320 9665 7028 2674 1725 5369 4055 2624 7875 9908 9051 8907 7712 3416 2675 3894 7307 9091 2181 1161 4742 3594 5179 6219 165 6477 1162 9062 2669 3614 621 426 7517 6673 1991 3375 1635
120 | 44 3448 152 6557 1531 3235 8797 291 3126 3898 4015 9315 6944 2375 1259 6069 4720 3955 5890 2790 9651 3220 3175 6450 6100 6119 6965 9653 5003 8313 8397 4261 2455 7137 2102 8045 1378 2264 427 8272 9580 6149 5481 1212 3116
121 | 39 2805 1587 9443 6891 5557 915 5537 446 896 5968 375 3541 1657 1368 6584 6084 1083 9412 8889 1650 7032 5716 6945 8762 8610 884 1741 211 5627 7964 6526 9171 6139 4155 6717 9374 7362 966 711
122 | 40 175 724 3766 7946 5608 256 2836 7384 5156 5308 8234 2358 4282 5312 9006 2457 6277 2522 6914 3273 6585 8666 6114 8859 1451 8796 635 9560 4826 2488 4595 5607 9879 4979 4705 7544 5678 641 9343 6172
123 | 30 934 6668 9441 3385 7698 2482 4757 7485 8791 2950 107 1882 3892 6434 709 1585 5833 7882 2576 4838 6487 1748 4894 6370 5785 2545 1527 4907 396 1911
124 | 39 1466 1568 8948 7015 7720 5881 2640 5448 5940 8050 2873 6519 4325 8518 5843 3606 9952 9249 2124 584 9464 6716 6873 1885 9617 9553 5098 599 4187 4854 6700 1107 9834 114 2046 6867 4270 1397 4131
125 | 36 2368 2297 6151 1407 416 1700 6623 6211 8285 5223 9864 9084 1354 5036 6318 7108 8020 7344 2171 729 6786 1848 7829 9156 326 2997 631 3967 4154 8951 963 1374 6986 3936 6654 1651
126 | 36 586 227 7358 3914 3867 4455 8072 4391 8765 185 8349 5523 8943 5550 8278 2977 9008 6426 5484 5755 2806 2411 3776 1806 3666 1216 3270 1782 4336 5624 9020 1714 7837 6737 4747 9860
127 | 35 2635 7222 9257 4503 1590 9636 7367 5945 6681 598 653 4117 2175 5045 4443 5834 6187 918 2761 8630 4700 7236 1224 324 7632 4653 5920 9386 9319 3726 699 8136 9032 9847 4037
128 | 35 2922 7704 8246 2963 1267 4186 1236 1300 7299 2762 3724 2055 3392 1290 2040 7884 8864 4098 693 6998 7310 4893 8028 2723 5103 6307 4618 8457 2240 1755 4518 368 2969 4605 8470
129 | 36 5371 957 5973 5247 2933 5181 5460 2664 221 6341 6859 6990 7872 174 7419 2646 521 8894 7059 5162 6429 6915 4368 3344 4522 4946 7093 2045 5825 9574 7594 3861 5091 2456 7722 1199
130 | 36 4661 7297 7979 2365 9039 5226 7894 1053 319 4315 5146 3532 5035 1228 6210 9187 6954 7589 5427 1829 4424 9232 568 4321 1246 6695 8303 9532 1625 8113 9472 7411 8236 2850 3642 5211
131 | 37 5959 2672 2091 4392 9727 3921 6382 4996 294 3292 2599 9456 2642 5301 7755 7291 8224 3603 546 7432 7663 8878 2730 6362 2970 2714 9426 4853 6788 5866 1605 4849 5319 2294 8772 9767 1298
132 | 40 6056 5482 9211 9718 3198 6928 9019 1275 309 2101 4677 7239 209 7541 4858 9203 4497 9993 8145 7282 8639 831 683 3616 512 9509 5419 7129 8570 9911 7686 5469 2729 1583 5907 5809 4683 6264 212 4625
133 | 39 2758 671 2202 961 9980 6242 1740 2710 4530 3417 1839 9495 9442 1193 4857 5647 2513 5192 9372 6878 9060 6182 5842 3222 6527 7710 8525 944 728 6679 5243 3098 1812 7730 1786 7852 2959 6843 9544
134 | 38 1579 1577 8545 1060 6258 659 3411 7865 7381 4627 4953 1730 8483 597 9375 7906 8573 9043 5854 382 4373 5270 9264 7172 6403 6760 6336 4987 2662 3509 5961 6886 9041 1449 2371 2911 796 7502
135 | 35 3709 8710 3505 9756 4629 8872 1760 9898 134 7660 1098 8042 5059 219 9833 7328 2354 713 274 2348 6861 2111 9174 9070 2407 4056 3093 3738 6013 2976 6988 3030 4963 6271 9558
136 | 34 3183 5535 7574 9227 3735 952 784 706 6902 6212 190 789 8944 1692 3825 1524 3846 2066 6352 1894 4059 1456 5628 2246 348 148 5616 9661 4108 8955 1697 1345 9866 4188
137 | 31 1472 3240 3361 9702 1278 3919 8624 5102 7751 2331 5322 1708 868 5661 1754 9278 5093 954 9196 8550 222 2344 7685 176 932 7619 9904 12 9188 5635 8629
138 | 30 7138 8099 7394 6869 6844 6746 7086 9350 5700 1872 6364 2595 6449 5533 8476 2125 7515 6757 5643 3204 9758 9779 5283 7197 8706 8789 453 836 9071 5988
139 | 33 6423 9361 5153 7487 5999 1124 3620 5744 703 2531 7955 9087 3146 9035 6486 5998 751 234 982 3662 9355 2639 1565 8795 1803 6723 9493 7991 1550 3120 4635 946 7341
140 | 32 5552 2146 9538 9213 9031 108 2350 1239 1059 3033 848 8812 4641 323 9327 1002 7104 7493 3806 2739 6376 904 1940 1355 7113 8922 2612 2627 7631 8228 6240 1508
141 | 34 9822 929 9117 4338 2583 9128 3172 1417 2166 6464 5883 3091 8581 7401 8040 7131 7847 6648 642 8222 603 2130 263 9776 2453 6333 28 3165 6887 9633 9687 1473 624 9982
142 | 37 7382 2086 9942 7606 8927 544 4650 4250 7144 9899 9629 3667 7369 4205 4363 4158 5749 2009 9677 7308 710 6540 7758 7778 4693 2425 6768 2023 5094 8071 4042 1800 8165 5845 7178 9838 519
143 | 35 3387 13 1364 6931 7496 4607 6910 7286 132 4298 43 431 5366 3280 54 4127 4822 5405 4045 4603 4120 981 3837 955 8138 7507 1827 4036 6662 2721 6828 3940 3946 202 8909
144 | 33 5046 5756 1348 9804 6152 721 6493 8651 8754 9235 6162 230 8528 4028 4101 1544 8435 2082 6111 4421 8773 9297 2684 9711 4439 6799 7659 8247 2926 1484 4364 3285 9154
145 | 32 2163 7324 9988 6936 9606 3954 7986 3238 8111 791 9182 7592 6523 9056 5584 1395 2465 8094 9098 7763 2224 6792 3945 9432 3087 8647 8275 8965 3706 5042 9643 1363
146 | 31 2890 5472 4535 3005 1737 304 3331 9907 7679 5925 5105 7111 1679 9842 84 2643 4456 5080 2316 2682 1664 153 8119 3189 3017 1202 129 4615 8941 977 6121
147 | 36 994 8969 7929 2906 9147 2429 7406 684 1203 9289 437 9976 7824 741 4293 331 2887 6213 7844 8780 8422 3376 803 9144 3012 3965 1086 9503 9508 2393 1393 2749 2487 5736 2386 7207
148 | 34 9180 4796 138 4581 7323 5583 2755 2126 7191 7054 2744 1777 8249 5434 7097 2647 2724 1483 5732 7558 6991 9624 536 5630 7971 1296 5342 7019 2731 9398 3138 5960 3381 7234
149 | 39 3075 4303 4797 2244 2649 273 4084 919 489 7203 572 4642 9989 6740 2722 615 3546 8604 2539 55 8722 4371 3368 8759 6223 3886 834 8396 6270 8444 8742 1685 7287 7595 6783 556 4767 7460 3024
150 | 33 1572 4671 275 1021 2005 1205 3881 6822 5457 8076 6267 5821 569 135 2188 2859 2973 5450 3514 1552 6706 958 2975 2022 8692 2208 2284 9148 9320 7371 7294 5284 4576
151 | 35 962 7781 1833 816 9747 5938 3618 1520 2218 3560 1865 2541 1836 203 6385 2924 4519 9092 5347 9217 8189 8860 5493 6195 3371 8921 5892 8340 5709 1543 5466 3993 8290 6806 8311
152 | 35 9111 9447 3025 4068 3519 3702 6995 2339 4314 4487 2961 7352 3110 8821 4743 2833 4139 3271 4645 8158 5186 9901 7170 2958 3070 2302 2962 6293 4291 940 714 3161 9296 3876 3580
153 | 37 5049 5336 7695 3856 7458 4286 5182 2295 4144 1440 1932 3275 3427 6225 4124 7935 3314 2877 8015 8066 7184 5095 1114 2945 8116 8684 342 9944 8923 4360 5380 731 651 7542 2901 825 1648
154 | 35 1539 3704 1983 4769 1499 2555 1462 3722 4795 6427 5570 9254 3176 9660 7407 7009 7288 3269 5073 5786 9513 8186 8997 8524 9373 1696 1869 6080 9637 2514 1295 2481 7841 7886 6090
155 | 38 1999 5014 3492 6497 1491 5041 5345 9850 6819 4309 5860 9165 3100 6236 1883 1218 1622 332 7525 2935 2373 4128 1892 3043 1606 7961 1640 658 11 8836 9205 1580 3493 5386 8810 4422 7315 1946
156 | 35 8858 8598 1387 7511 1670 4715 9115 9549 6292 6703 1253 3711 9939 4241 6872 2699 3488 4160 5048 8926 2821 3552 8702 2521 3309 6825 4267 2978 6335 8803 7280 4257 8110 6480 5644
157 | 36 482 8364 9826 8404 1675 6283 1597 338 971 7441 5376 3912 8912 7812 3340 1168 4178 594 8769 6024 4378 6050 9807 2515 7193 9639 6342 5016 1347 6533 1470 8750 3816 3345 7978 697
158 | 35 8085 846 8440 6785 5613 4697 1016 5313 4104 4722 6274 7891 4388 5597 9173 1319 5600 4855 6432 7932 6494 3761 5338 8212 543 9225 2383 3588 1518 9112 1601 8060 8270 8631 2149
159 | 31 9740 4951 5740 9884 736 4156 9229 2195 2161 7748 1089 9317 4728 1405 2685 2464 1886 3891 5773 6064 3933 4409 4210 9576 6745 1316 5937 7968 2444 1954 6207
160 | 32 9106 3187 6214 810 1130 82 2395 9263 4307 7878 4385 3675 4550 3647 7672 2913 5230 4534 8276 226 1984 1164 8998 2063 6899 7518 6358 8935 8539 7861 3769 2338
161 | 33 2139 6570 3169 6482 8421 9678 5424 8646 7489 4396 5822 9815 3430 5664 4420 5373 5409 4492 9276 4669 3248 1656 3736 6964 410 9450 9221 2964 8559 860 4274 5033 6588
162 | 30 8725 4322 1862 779 2756 2013 8992 3040 5228 926 4521 1555 9338 881 8448 3686 9303 376 4317 101 4146 6400 5250 9789 7967 9948 8994 9613 6173 2155
163 | 30 2446 7584 2830 9522 1014 2169 9076 2384 173 7045 9851 1096 3320 4147 5994 2424 9002 5531 4934 8023 7904 9305 3990 9881 8802 3214 9620 2400 6732 7162
164 | 37 8896 8078 9743 2351 6655 5868 9761 9719 9485 7915 6167 7483 2843 6412 9110 3449 2056 9160 7265 7075 9736 1453 3343 9998 3085 4372 549 155 1922 6926 9680 2376 9253 6360 9383 2611 9577
165 | 32 4433 9591 144 5128 8083 4442 8833 8006 9238 841 7981 7036 5169 5420 7554 8185 8115 7378 5567 4406 7684 4211 1844 7582 5494 1297 7734 6339 218 4936 8898 4502
166 | 30 3937 7708 1890 5520 1283 1133 2782 5079 8322 8159 8260 387 1147 2551 198 7053 8254 6621 1528 4816 6355 5824 1841 3930 4877 6503 7107 5372 1099 1177
167 | 30 6956 445 4182 5984 2570 5082 6516 9394 9406 7278 3625 5413 2320 4582 6693 2372 2704 8329 5636 6401 1208 3413 6070 542 6317 9886 7770 7938 7187 8351
168 | 34 9189 8453 389 8654 8080 8017 6237 2459 9754 1465 7561 5887 2179 1688 1233 9502 2100 7509 3321 9118 5581 8242 8960 1403 7285 807 4143 6373 3793 3624 9569 7512 9882 9255
169 | 28 6808 3423 6425 7449 1139 1325 60 2334 4589 468 739 8347 2121 6063 8355 4756 6110 1471 4860 4285 1646 8881 10 821 3072 6947 7555 3517
170 | 31 9340 2847 4807 5751 6374 5826 1547 385 8292 9457 2233 4874 1011 7076 5291 8345 1439 461 9337 6571 767 162 5011 7857 2597 4366 6305 6823 2829 1864 6441
171 | 29 8172 687 3060 7611 6578 3992 3332 5117 9533 456 6160 6097 4679 4132 7058 5790 2432 9465 1394 2484 6081 4569 6239 5686 8830 1255 8167 9969 2423
172 | 28 3119 8934 4824 8052 6278 4672 1897 8798 5071 1444 4266 1389 5367 3507 8436 1457 8082 8856 2880 1335 8079 1982 8088 7125 788 5930 4793 124
173 | 30 9392 1048 1956 6488 5483 7173 8933 1521 5157 3122 5406 4900 5506 4428 1856 183 3102 6611 7133 9626 381 9449 5735 5120 5221 7923 501 1181 3554 9741
174 | 29 9498 4765 4239 68 432 4817 9286 2279 9936 5170 2176 6567 4869 5694 1962 1847 6439 1383 7823 7797 9926 6831 8626 486 6028 3202 4345 2296 1445
175 | 32 8128 8184 7794 2769 1554 8594 6618 674 6630 4657 7345 9855 4599 6948 7276 9390 95 1567 2568 8041 433 6095 5992 4729 8632 978 5225 1881 7731 3148 2157 5410
176 | 34 8698 9960 7402 8919 9175 8166 7538 5218 1854 8377 8309 7835 83 3835 1320 5451 1482 4829 7012 5378 4080 6009 9487 3969 7145 7862 1947 8555 509 7970 1106 7066 3634 9478
177 | 31 1125 2793 9584 2305 8162 5323 975 3465 9795 6750 7664 4684 3121 6018 2560 1853 965 9794 4164 9928 4806 6259 2764 4810 4403 4927 2706 6169 9723 8887 4361
178 | 31 4078 3452 9445 1807 6265 8176 232 8937 6163 141 7784 2878 5000 125 1294 8882 3096 5299 2270 5335 1200 9519 4999 7998 77 2885 1798 340 9573 518 6804
179 | 33 3236 7186 8424 4870 6416 8977 4507 6580 7464 402 1282 6874 1132 8801 9689 8248 2390 6670 6565 9830 9796 19 3000 6458 5576 3561 1997 5017 1958 2059 6390 4184 7264
180 | 30 3190 6330 993 78 5115 2965 4983 3755 2673 4069 3830 3803 3500 2818 8826 4294 8675 1052 6323 3574 2341 6314 1992 4968 6241 5184 4138 1367 6061 1627
181 | 30 3883 5334 9685 5109 9033 1051 9484 4304 630 9954 150 110 7082 6849 8665 5417 7114 4148 7623 9 1789 535 2676 7749 6855 506 8940 9208 5836 8151
182 | 33 4172 554 9492 7982 3557 8293 216 3019 3480 8914 8330 4533 7404 3390 2780 1498 7831 8688 8972 2508 2319 7262 6087 7634 935 2773 8853 1372 4905 7004 7608 5551 6491
183 | 36 681 4764 49 6003 7397 8751 8714 6922 3001 6036 7526 6978 1302 1676 6674 2590 2606 1280 1952 1876 6471 7889 7813 4719 5139 3915 4233 8163 2336 6366 4532 9474 6012 9330 5054 5921
184 | 35 4107 5136 1704 1410 8003 3845 6402 343 3731 6738 4736 6707 4906 5766 109 3944 7233 1458 633 6353 1941 5389 524 3790 8822 4308 5589 7360 1716 9805 7166 9134 4866 4512 3818
185 | 32 6933 8125 417 350 9104 9627 9079 8746 4356 4703 1092 3194 911 4440 3629 1314 7044 8497 4202 1273 4491 7293 9009 1989 8811 5359 4571 9934 6052 2530 2561 1921
186 | 29 9957 5077 3316 6407 9785 1588 837 8727 8365 1944 2832 1104 1163 4511 6143 178 4843 7832 2216 1476 1201 5364 6694 9265 44 3710 4197 7718 9510
187 | 28 2698 474 1712 5528 4966 6961 1715 9811 2468 1674 8638 2763 9821 1244 8008 5428 4610 2929 9783 9230 5858 5004 8474 7140 4228 1150 6447 2349
188 | 33 5835 3929 9820 8786 811 1758 3744 2918 1750 3166 8668 8147 4292 872 2463 5578 8255 8348 6696 2658 7912 2026 268 6739 3714 8091 622 146 7616 8187 3872 4875 3444
189 | 27 2517 6093 5534 462 33 4377 5904 4835 4417 9672 5646 5546 775 9077 302 3718 742 5572 4024 7501 315 2427 3998 4552 2213 5690 4331
190 | 26 1187 9288 1468 6603 2145 6817 8264 8628 5704 2495 9703 8814 1068 475 1063 6045 4482 6034 3217 2438 6911 5996 8219 5734 7806 1154
191 | 32 9872 2636 4390 3873 7636 5794 9735 3114 2136 2274 9737 1871 7046 8562 924 680 8883 7081 1117 490 8199 5078 6346 8748 3691 3257 1017 6619 2268 4708 3334 7996
192 | 28 2381 8579 4616 3968 8613 5867 4809 2797 4856 8122 9067 7400 3290 2546 7803 9996 9709 2087 7051 1987 2831 2896 566 3842 8024 119 4058 5823
193 | 31 8220 8407 1040 5492 5967 9806 4587 5066 1138 7361 1420 6824 9771 8318 8616 7355 8007 4106 9852 2798 7428 4086 7826 7913 1251 1328 5437 2054 196 6537 4171
194 | 28 2223 7545 553 6234 4386 785 9825 4263 3192 74 6574 7387 6800 8390 8362 8713 1469 9587 1488 4299 5431 463 6381 3338 7342 3868 3403 2661
195 | 28 1386 9246 3533 3630 5668 1220 3671 3186 541 6764 5433 1194 5547 4272 3834 3095 2287 4525 7217 1763 4035 1652 6004 1478 808 4791 1653 7936
196 | 30 3145 6227 4246 4957 8547 3050 9625 899 4183 8417 8741 8418 9186 5395 5024 986 917 2869 2695 5741 7040 5267 495 1384 4073 8981 1237 5021 8225 5707
197 | 27 3922 9662 5462 4896 3266 9721 9397 1310 2725 6606 1709 4019 5701 3585 2185 494 6334 3805 6035 9611 8361 4007 2162 1119 7424 3279 537
198 | 32 3831 5939 3878 5669 8432 7992 6073 443 5499 3544 5763 7761 1532 9655 9081 1553 214 9047 414 3432 3231 1613 8156 5719 4884 1626 192 2834 574 2170 6133 6835
199 | 31 5260 9284 5262 5966 1429 5400 8201 3780 8460 995 7942 6456 8455 8775 5219 7238 7171 8843 9262 7283 1190 6468 6592 8729 2285 9863 3583 390 7697 845 7326
200 | 32 3117 691 9243 2855 1595 8936 7980 2687 7392 9437 7462 878 3286 5290 259 2370 7035 6701 5076 2227 6249 6682 8304 5745 9234 3996 5946 8777 1672 4643 2957 7272
201 | 30 602 1896 7787 6770 747 4910 2147 2853 2538 3986 5480 1935 4402 2080 2657 8338 5072 4129 6512 3880 9199 1775 8676 399 3041 6068 7008 4685 6088 6014
202 | 29 2849 8044 3693 6030 968 3757 7249 6112 2001 5935 5975 1799 686 2944 6272 1761 1409 9411 5652 8419 3244 4686 6659 9865 5459 661 1540 2804 8443
203 | 28 7828 9014 8356 2472 3733 2322 6652 2194 6268 8967 5963 8512 1870 7005 8732 2110 9659 4868 9471 1563 9903 1731 5261 497 5275 448 5398 9958
204 | 28 5944 6970 9951 1923 8865 9831 1994 1222 3802 9078 5687 6941 2153 5839 5268 7218 8269 478 3372 4725 9146 9061 6251 6041 9698 1313 7422 7899
205 | 32 6461 5113 5112 9352 5522 7408 2838 7379 6328 6276 3481 7753 6735 7860 557 4177 3983 7615 418 3890 508 179 1362 1529 7128 1877 732 3015 1762 8409 5231 2367
206 | 26 4494 773 1556 3950 1542 5052 7988 7202 8263 7958 1825 7949 7298 1504 5539 4847 5272 8403 608 6089 6289 25 4841 6157 8216 4678
207 | 30 6096 6543 7638 9646 9751 7158 8012 35 5302 8783 8892 3251 3849 6742 7725 9609 4727 5989 6759 2402 1561 9541 8664 2884 4993 894 3547 4490 2620 582
208 | 29 6781 8724 6888 3659 9219 3762 8506 2142 2613 8652 2548 9247 6386 9959 4551 6134 5943 3820 7834 5923 2180 5452 1900 8672 5667 5859 282 8753 5885
209 | 32 5604 5062 2607 9887 4217 3264 8108 2591 530 3745 9910 3494 7863 1097 5840 7346 5730 4614 2113 5655 8563 6165 897 2987 4485 5615 1404 9353 8986 1967 2007 8385
210 | 29 7653 3491 4318 3855 1095 8564 7960 383 8316 4137 6705 9917 1172 2891 5894 8591 4410 5104 1221 4924 5194 9749 3526 2588 6019 2123 7965 265 419
211 | 31 746 5673 8903 7084 7742 4005 7715 679 3610 7870 2061 360 5329 3490 4100 4375 3441 3599 5174 7410 5043 8656 1077 6560 1966 3111 843 4872 950 4437 6017
212 | 27 9215 2241 4802 9258 7668 4454 4559 2474 4873 6025 6010 7388 1936 1927 3113 8587 6140 7940 8428 7252 6583 262 7856 2041 6332 6969 85
213 | 28 6950 6812 182 7529 6790 5353 6437 9491 1996 8988 223 6354 3356 3672 8168 1013 9534 3732 3337 401 3593 1669 4012 4698 5256 5774 9452 592
214 | 29 6130 8468 5149 3679 9273 6125 8873 5748 5293 648 1526 3453 6253 5752 1094 9507 669 3428 6937 885 7391 4038 2422 4196 6397 2915 3472 6639 7641
215 | 28 8406 8523 2042 1779 4784 7880 435 6300 6331 4988 2342 4332 131 9630 9717 6058 1376 1286 9516 3140 8735 6209 3224 7477 8516 4584 6883 6164
216 | 28 1965 5467 2182 6973 5965 8445 3346 8281 4116 8920 2552 5983 4748 2033 1137 3213 4226 2307 2277 4563 890 298 3712 31 2261 7764 362 3708
217 | 25 7798 7985 3323 7952 606 9909 6244 2477 2064 619 7876 9844 5761 1496 6850 2688 7398 5873 6501 3352 5196 20 6821 1001 8180
218 | 27 6257 5213 8481 8053 6520 5148 81 4355 2794 7629 1880 4919 559 5820 9197 1088 8480 4330 8359 1311 459 3354 6499 4237 7050 5432 7021
219 | 28 577 9150 2506 3949 7359 308 8381 353 9090 6728 8855 9902 1461 5214 9119 2653 2941 424 5362 3789 8467 7658 8146 6901 3328 1010 7471 2518
220 | 34 333 4662 7984 8566 2693 8586 678 5229 3917 6027 9880 87 8013 1158 3124 8089 3759 6414 3026 1840 9469 6315 355 3973 4604 7057 3874 1455 8010 5725 990 5685 5470 7492
221 | 29 3384 1425 6155 3027 2430 3716 4152 9974 6616 8627 5878 5010 3011 6684 7953 3382 449 1616 5422 66 5708 46 6549 3689 3938 2812 3522 9527 1766
222 | 27 2209 8669 1148 7329 1448 3278 8954 2745 5976 5403 1915 777 5122 7809 3377 1673 6877 8295 562 5626 3676 5445 3848 9927 5844 5375 4916
223 | 32 5634 2954 8297 9131 7295 8120 5138 3587 4889 670 8760 6171 5281 8296 1023 585 5962 5978 9427 700 2118 3853 4464 8064 2476 4367 1874 2008 5948 1350 2668 2504
224 | 28 3256 1751 3324 3524 1855 7375 2057 2937 893 3742 6287 6138 7846 2314 2842 8871 1713 3525 4648 4159 5554 7717 8685 6577 2441 6008 4881 4014
225 | 22 2993 1271 8207 8980 3306 2418 4200 3680 6000 5296 4844 1920 2671 6895 507 4198 1343 8002 8987 764 9650 5517
226 | 32 8854 4469 4751 7922 5553 2752 2144 6753 4903 3203 3644 925 3865 4888 8466 5603 4161 3888 8190 999 440 9929 3792 9085 9468 7683 3014 1930 1629 9645 3057 7456
227 | 30 7337 3383 4717 5333 2167 5436 8478 8235 8004 6033 1899 5063 4382 1029 5202 9252 3461 5590 6232 9083 867 2089 942 2784 4369 6909 4592 2670 2781 2528
228 | 33 7426 9581 6982 1846 3656 1192 3295 7253 9139 2622 5796 980 5757 9720 5311 4431 4379 1128 237 3753 2321 5295 7027 8 2816 4041 7074 7583 6818 4590 8416 8683 7907
229 | 30 1717 6319 8183 8971 2767 8726 4395 8154 888 5053 2255 8284 8611 1056 3477 8490 7212 6048 1213 3737 454 8817 7311 2374 8747 4459 1015 769 8514 3504
230 | 32 601 9688 2604 5566 3866 4834 3746 6049 9172 6971 3341 8840 1120 2928 239 9466 1459 6502 1511 9999 1732 6949 139 4206 579 312 983 5812 1396 3800 2215 6065
231 | 30 8551 698 3772 7335 7042 7579 2569 515 6389 9500 1309 3794 8857 8109 2237 9387 7353 1087 6685 7627 7168 1506 3084 2250 8393 5515 2737 7246 3059 5208
232 | 28 1711 4122 8740 8438 4560 4046 2637 9368 7651 4212 4547 2617 1249 3054 3319 705 4711 3617 3823 4426 9201 6103 7386 4981 5161 5870 7947 2480
233 | 26 9145 8090 9460 5721 3455 1477 3304 7334 8144 1797 3778 1744 6345 9283 2740 8837 1903 7819 9496 7897 2072 9099 5582 1209 1801 7215
234 | 28 286 4922 5354 9966 2535 7383 2435 5911 2083 3791 465 1074 8861 3771 1452 3437 7155 255 3419 1240 1101 765 8102 7868 8520 8084 1211 2659
235 | 29 9742 3076 7494 8447 6669 3380 4734 9854 4460 2986 4153 3360 6192 1774 7909 9564 1169 7366 2081 4333 9682 7977 7228 9101 4020 4026 2380 4586 4775
236 | 26 7833 3425 1893 8170 2439 2409 964 5068 21 2062 9116 9906 7077 3458 887 5980 2192 763 4620 7301 3066 7453 9476 6798 4339 7153
237 | 26 9832 9054 5941 2815 6150 9955 3858 6559 5235 8593 2097 70 413 6989 802 5154 1391 967 242 9379 5449 695 1474 2848 3633 4977
238 | 34 5455 1574 534 7251 3987 4151 663 1592 6500 1895 4432 9883 743 4435 8659 7213 1261 2656 6743 3034 9209 9323 241 279 2602 2934 2579 9638 4008 6201 7604 1486 5361 4254
239 | 28 8946 3611 7822 2496 2512 2394 3299 6344 3018 2558 974 1166 8142 2010 4335 3814 8800 9846 7535 7041 8326 1005 5316 9572 892 3289 6564 9700
240 | 25 7320 2452 171 164 1593 6744 1243 1431 3908 3631 430 2369 4970 5248 3109 7098 786 7302 9945 9167 3447 7354 6161 6573 900
241 | 29 9351 2772 2332 6347 5713 3373 8454 6815 8423 4938 9818 5601 7247 5265 2151 6226 4109 8087 4787 7573 6020 3497 1232 3135 18 6907 8363 9463 2630
242 | 27 1785 1599 4994 9042 4655 5125 1998 4044 1980 871 1747 5767 9222 6451 5037 5287 6505 8098 6803 797 5145 1112 7601 3351 5805 6833 7417
243 | 25 3660 6062 6748 7120 397 8609 9892 4025 8642 2230 6406 9800 5332 1866 7676 5614 8429 4876 6118 9479 1481 4850 1765 6327 3386
244 | 25 7277 1614 1795 7488 6470 5278 5502 3774 7188 4430 3136 2982 6462 6837 1571 5205 2592 5111 9693 4772 7714 7713 3349 4771 5681
245 | 29 2440 6683 191 1339 5020 4867 9272 2450 2027 7024 1693 2735 1960 3241 8963 7321 6433 3799 5662 6247 9341 3523 2317 6541 5657 3154 6842 9995 6179
246 | 28 6340 3833 5903 1036 1907 2410 6286 2707 257 7275 2092 529 895 9448 2888 7733 4191 6104 3843 6987 2196 5341 6774 1834 9615 5849 1315 3232
247 | 21 280 4466 250 927 1009 6535 7869 7596 3646 7696 4232 56 1584 272 267 7562 349 2718 3655 4965 8932
248 | 25 4974 9764 5351 2770 6099 5253 8469 184 6820 943 2802 6378 5808 8761 1918 1495 1065 8863 1084 3053 6602 6311 2594 5562 8636
249 | 27 7216 5542 5580 6551 8517 7580 2547 7091 6862 5869 5438 838 9931 9312 6930 3125 5399 9566 7274 2117 7139 5702 5650 1705 5950 3555 6614
250 | 25 9692 4170 6871 9097 7467 6919 9240 4370 7304 9979 1968 6851 3293 6863 6789 3999 1534 1912 607 3688 4531 3308 9900 4353 7348
251 | 22 5325 9967 1042 434 5742 5274 8499 7503 2577 4515 8915 3301 733 3359 7479 9649 8157 7498 4790 1607 7322 7559
252 | 25 9141 1037 9773 2258 3326 675 3715 4062 822 6829 2534 3108 8373 4312 9641 3223 1617 2421 948 3239 1509 2448 616 6320 8805
253 | 25 1186 2252 593 3537 2212 6309 9302 2403 7610 1329 7370 7043 2251 8999 840 2070 8331 7530 9269 1878 2883 9962 7223 5729 2681
254 | 30 3216 6021 2803 5612 8565 5318 8375 408 4942 610 3130 1189 1694 5768 3127 3065 2077 9024 5617 3077 591 6805 217 8411 1318 8306 3959 9705 5543 7010
255 | 30 9413 626 7475 6463 487 9382 7581 1093 1342 7691 2919 4341 1671 2408 5352 1188 7893 673 303 1351 3433 4859 6116 4255 4593 6797 3653 2143 2273 8307
256 | 31 9168 493 6638 8286 1863 5210 1600 740 771 380 5510 6711 7257 9871 5847 3199 6208 4213 5114 1858 8271 3916 2861 9210 3597 1995 9878 5101 6184 7788 1185
257 | 26 7539 6102 62 6876 5783 4185 9839 6813 133 539 6749 2015 6302 3824 2490 6589 4939 8521 9301 754 7505 6761 3457 8195 2716 4789
258 | 28 8653 6778 9129 4739 5 3049 6994 22 4247 4638 5100 6085 3923 3063 5259 914 7836 8866 1884 8021 5641 8622 8075 2703 2904 8589 8819 3748
259 | 30 5160 5147 276 8885 7482 8906 7016 9599 3185 6037 3020 7989 3132 643 6175 1726 4955 9671 4010 4879 5979 1955 9605 4121 1129 2269 587 8132 2532 6051
260 | 29 9328 4236 1842 336 928 2633 1430 5585 1515 7110 1149 5058 7423 4344 1406 7682 3692 613 6712 4752 5929 1356 4269 6066 2115 5936 2031 8268 2895
261 | 29 5588 9888 3288 7395 5127 4279 2048 5726 7773 7240 4289 9314 3398 3515 32 3920 1507 2792 1338 9294 7547 1843 723 2025 1951 7677 9971 1638 4300
262 | 25 8607 5524 6992 1734 4573 9268 2154 9391 3272 3506 7919 5800 6380 8908 5884 4103 3394 4932 5381 5155 485 8100 2814 3645 5723
263 | 28 1408 8568 5917 1365 3150 9120 5224 979 956 6446 5862 2909 4617 7546 8319 6079 3852 5977 9401 7211 712 4296 4608 3649 6776 9505 4707 6135
264 | 28 4754 3471 817 3612 2912 3703 1784 6205 1485 8577 400 71 3982 1173 5040 583 3885 6900 2112 3739 9357 5019 5819 7810 818 378 4699 8784
265 | 31 9594 8504 1312 330 2715 1197 2018 9571 2983 1219 7390 8917 5108 143 1662 7692 6384 6607 2692 6827 1400 3255 269 7567 2392 9377 3207 5569 2556 5227 647
266 | 29 5801 8177 2557 5310 3503 5990 1276 3847 3164 3254 258 8844 3502 7532 7199 2708 112 8310 1623 2696 3142 827 3307 7644 3752 787 8353 6074 7885
267 | 30 4049 4501 328 8590 7481 1926 5307 2036 9565 9059 3905 1861 5951 6999 4591 1145 6719 6539 2889 5733 9239 4429 9245 9631 2443 2712 3664 951 9873 2980
268 | 29 4141 377 6154 4166 3044 906 3951 9803 6369 9308 5279 4334 3795 9664 231 1819 2663 4070 6734 8048 657 2074 4242 9557 2510 4479 2385 7478 2783
269 | 27 5370 7448 5564 7115 7183 9322 2609 3683 8025 3105 2852 8446 1873 4943 1830 8804 9946 4499 3469 3023 8179 8535 9535 4820 3468 9161 2507
270 | 29 2098 4904 7205 4349 5777 4408 7976 2106 5637 800 2542 3310 7267 3495 4280 4438 7292 3329 7325 4626 748 7101 2553 6832 5882 47 451 5204 7319
271 | 28 7851 558 3592 8049 8193 1969 6566 4948 6979 4818 2020 7549 9072 2540 3464 3370 6968 6039 3378 3591 7454 8112 6709 6011 3197 2075 8879 9438
272 | 29 2600 9052 1985 8884 1677 996 7671 7765 8245 2867 3134 3879 4992 1914 8279 8764 8667 5931 1578 8868 423 6917 3577 3713 9778 1288 7903 1268 4275
273 | 30 9159 7080 8492 2335 3623 6016 555 941 8679 9853 689 1360 9179 609 3801 2256 169 407 4441 1523 5663 3206 3586 823 7121 6838 4561 7094 2565 8696
274 | 29 4768 1492 6720 1976 8261 9095 1612 6779 3195 3770 3882 4489 8253 8047 8149 6228 7500 8414 7069 97 6923 5088 2079 7055 1279 2751 2306 8360 2134
275 | 25 3775 5529 5005 5423 2966 4673 3854 9324 8462 9921 5397 2705 9007 6457 2666 3180 9588 2219 5899 5487 1072 5762 195 9774 2406
276 | 22 4989 7380 8693 970 6553 8974 4190 4544 4825 6460 2428 6846 3895 6078 1736 4133 945 1633 6465 9679 6415 5240
277 | 28 9155 4115 2330 4909 7161 9632 3291 6966 3934 7455 4941 7990 907 7973 7859 903 8614 9528 9922 2650 8452 8674 5872 8515 205 5586 2985 6974
278 | 23 9417 8733 3932 3707 8820 7637 9990 1564 2720 1589 1070 245 5541 9525 7732 8198 5754 2199 7486 2694 8845 889 9837
279 | 25 4057 1745 1260 1772 9540 4004 7727 3229 5411 6484 600 9810 8599 9040 3728 9701 2988 3200 9610 9539 6478 7618 9444 8640 8618
280 | 29 5326 7643 548 3476 1421 2353 6767 7842 7866 8673 9949 5474 1427 9575 8294 8956 8787 5718 6220 5775 618 4861 3787 5558 4624 2819 5276 5029 6810
281 | 23 7179 7421 5997 7230 9963 5654 1293 4452 3777 452 8813 9068 2500 264 6726 6924 6905 976 1061 5009 7600 2902 7533
282 | 28 8644 1062 2469 4400 8130 9190 1198 5610 3887 4724 1007 2184 8989 213 8129 52 5806 2564 8491 9775 4558 6108 4505 5538 7602 3607 4516 8009
283 | 24 1030 9166 9130 9073 1210 5116 5303 2433 6221 7597 2071 4284 7645 2697 2727 2200 17 4886 2655 2328 9582 7801 5915 4594
284 | 30 8544 4967 2765 5130 3339 3333 2860 7723 873 6985 7896 7038 3242 3035 6454 1401 947 6530 4125 4800 4656 1480 6132 7389 3995 9335 3988 3697 6217 9914
285 | 24 6897 3128 3781 3099 6620 3669 8828 9499 4527 7536 6814 2817 2315 5737 6953 4389 4786 5190 7289 3459 2778 4674 8092 6513
286 | 25 2586 3562 3972 2813 8063 4474 8239 3821 1370 8251 3797 3364 8842 9050 9673 4498 7476 7425 7250 351 9924 6506 7100 6650 7260
287 | 24 7609 9470 8952 7707 4933 5188 5396 2470 6015 4898 7815 3893 4277 3409 830 2593 481 3550 7095 8900 9486 1447 7553 8770
288 | 25 9861 654 7245 3782 5185 393 3170 9393 111 7703 4652 9135 2845 7018 7556 6653 4555 1058 8662 5902 6126 856 5549 181 6865
289 | 27 3516 4114 9913 7613 6445 4716 3907 5683 7338 4575 734 3678 9862 7000 3010 305 4112 4244 4738 774 2598 9259 2174 632 3369 882 3436
290 | 23 7136 6613 4195 3836 2323 8410 4931 4110 886 3819 1223 1103 2034 9103 9419 5957 8571 3445 3749 8456 3572 5764 3970
291 | 22 8394 665 479 1024 504 4323 2158 1770 7598 6515 1948 1636 7701 2527 8758 2972 6736 4668 6443 151 814 2065
292 | 24 6885 1641 9248 5914 5555 1776 4622 5478 3558 3871 2039 7743 4201 7950 2355 3028 8283 2949 2447 6725 2292 6144 6593 469
293 | 22 9282 2777 3598 4053 8790 2232 36 4193 790 3191 4612 5579 8231 5947 7290 6977 6466 4623 8984 7563 2641 5571
294 | 19 3590 40 3051 6657 6643 8256 4562 4095 7830 9490 157 4676 6617 247 7585 2702 5264 2210 8030
295 | 20 1808 1035 8227 2037 6231 6459 8257 6676 6218 1127 3262 9300 4723 5720 4258 4509 4094 3007 7373 725
296 | 16 1080 6168 4567 3443 7768 720 117 6612 3941 9707 4113 1352 7438 2290 2361 5143
297 | 15 6640 4632 8530 4313 9622 5176 9044 4667 4383 3897 3512 5495 7225 1702 4982
298 | 19 2417 3877 1753 3482 5895 6348 9669 8649 6866 2243 510 8413 6741 9292 3047 7779 7514 5871 1159
299 | 19 159 4660 9933 7543 4227 682 4628 4745 2788 473 3548 832 3246 5648 7881 8534 9551 6894 9333
300 | 16 9371 9194 34 9568 1398 9251 1804 6312 7078 8258 3622 8137 580 8975 4763 6043
301 | 19 6229 9440 8366 551 2263 2578 589 3783 1602 356 5412 1214 877 4637 645 8196 646 3535 488
302 | 19 3249 1938 7699 4248 2841 2129 2801 7468 1344 833 1402 9158 8807 3609 4839 5485 5340 307 4972
303 | 14 7995 627 6794 4001 4621 106 4945 8106 7491 96 9683 4865 4819 7143
304 | 18 7576 850 8841 6379 4278 1012 5390 2509 7450 7531 8507 5497 6156 1905 9877 3046 2886 5631
305 | 14 3123 1113 2396 9304 6299 1340 6697 9593 3981 1838 5695 8135 6204 1450
306 | 18 9561 8121 4034 421 4009 1217 2489 4221 5314 9793 5592 8939 9280 2014 57 5027 5479 285
307 | 13 3265 1573 1066 9506 1380 9200 9362 9309 5848 7312 4713 471 4814
308 | 17 102 2191 4481 7883 2746 738 4730 1028 3086 9482 5282 8352 9704 5972 5727 2882 5212
309 | 14 4935 8315 502 5195 6421 6658 2892 5508 5852 7612 2114 7620 8578 1537
310 | 14 4803 2766 229 3696 4181 2774 1258 4483 8602 345 6375 8426 1887 4493
311 | 10 2012 7011 9428 220 8848 1493 2426 6174 664 6453
312 | 11 9787 4006 3701 53 2391 9436 8206 4504 1032 6026 7924
313 | 11 4189 4099 4480 6032 5912 4799 4145 4892 6367 7443 8691
314 | 11 295 6475 9755 1964 605 4264 4040 5828 1085 2984 866
315 | 12 42 6879 9037 5632 7331 794 6361 3330 6651 6773 6098 2981
316 | 10 9038 3643 3640 1818 2701 2536 261 2280 9548 3705
317 | 9 8546 2864 5377 9202 7177 8924 3997 9781 636
318 | 8 7439 7552 2236 6395 1917 565 793 8215
319 | 8 5955 188 7744 5516 3405 2242 6826 5439
320 | 7 7418 6791 726 2265 9559 6556 7931
321 | 9 4052 5383 436 656 768 3267 6686 3651 5343
322 | 9 306 1143 8400 16 4777 6765 1250 9745 243
323 | 6 9925 1817 7219 2 4249 3212
324 | 4 3042 2795 4214 2221
325 | 4 4065 1330 9408 7721
326 | 2 3153 2479
327 | 1 3511
328 | 0
329 | 0
330 | 0
331 | 0
332 | 0
333 | 0
334 | 0
335 | 0
336 | 0
337 | 0
338 | 0
339 | 0
340 | 0
341 | 0
342 | 0
343 | 0
344 | 0
345 | 0
346 | 0
347 | 0
348 | 0
349 | 0
350 | 0
351 |
--------------------------------------------------------------------------------
/resources/subject.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/resources/subject.pdf
--------------------------------------------------------------------------------
/screenshots/legend/assigned-ride.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/screenshots/legend/assigned-ride.png
--------------------------------------------------------------------------------
/screenshots/legend/driver-on-ride-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/screenshots/legend/driver-on-ride-1.png
--------------------------------------------------------------------------------
/screenshots/legend/driver-on-ride-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/screenshots/legend/driver-on-ride-2.png
--------------------------------------------------------------------------------
/screenshots/legend/driver-on-ride-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/screenshots/legend/driver-on-ride-3.png
--------------------------------------------------------------------------------
/screenshots/legend/driver-waiting-at-start.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/screenshots/legend/driver-waiting-at-start.png
--------------------------------------------------------------------------------
/screenshots/legend/driver-will-complete-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/screenshots/legend/driver-will-complete-1.png
--------------------------------------------------------------------------------
/screenshots/legend/driver-will-complete-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/screenshots/legend/driver-will-complete-2.png
--------------------------------------------------------------------------------
/screenshots/legend/driver.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/screenshots/legend/driver.png
--------------------------------------------------------------------------------
/screenshots/legend/failed-trip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/screenshots/legend/failed-trip.png
--------------------------------------------------------------------------------
/screenshots/legend/toggle-off-all-trips.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/screenshots/legend/toggle-off-all-trips.png
--------------------------------------------------------------------------------
/screenshots/legend/toggle-on-all-trips.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/screenshots/legend/toggle-on-all-trips.png
--------------------------------------------------------------------------------
/screenshots/preview.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/screenshots/preview.gif
--------------------------------------------------------------------------------
/screenshots/v0.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/screenshots/v0.1.png
--------------------------------------------------------------------------------
/screenshots/v0.10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/screenshots/v0.10.png
--------------------------------------------------------------------------------
/screenshots/v0.2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/screenshots/v0.2.png
--------------------------------------------------------------------------------
/screenshots/v0.3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/screenshots/v0.3.png
--------------------------------------------------------------------------------
/screenshots/v0.4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/screenshots/v0.4.gif
--------------------------------------------------------------------------------
/screenshots/v0.5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/screenshots/v0.5.gif
--------------------------------------------------------------------------------
/screenshots/v0.6.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/screenshots/v0.6.gif
--------------------------------------------------------------------------------
/screenshots/v0.7.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/screenshots/v0.7.gif
--------------------------------------------------------------------------------
/screenshots/v0.8.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/screenshots/v0.8.gif
--------------------------------------------------------------------------------
/screenshots/v0.9.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/screenshots/v0.9.gif
--------------------------------------------------------------------------------
/screenshots/v1.0-a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/screenshots/v1.0-a.png
--------------------------------------------------------------------------------
/screenshots/v1.0-b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/screenshots/v1.0-b.png
--------------------------------------------------------------------------------
/screenshots/v1.0-c.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/screenshots/v1.0-c.png
--------------------------------------------------------------------------------
/screenshots/v1.0-d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/screenshots/v1.0-d.png
--------------------------------------------------------------------------------
/screenshots/v1.0-e.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/screenshots/v1.0-e.png
--------------------------------------------------------------------------------
/screenshots/v1.0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AkselsLedins/google-hashcode-2018-live-simulation/7d6df93e51b1b05cd3496e90f37488e14657eb00/screenshots/v1.0.png
--------------------------------------------------------------------------------
/simulator/events.go:
--------------------------------------------------------------------------------
1 | package simulator
2 |
3 | import (
4 | ui "github.com/AkselsLedins/google-hashcode-2018-live-simulation/ui"
5 | "github.com/faiface/pixel/pixelgl"
6 | )
7 |
8 | func (s *Simulation) HandleEvents(win *pixelgl.Window, dt float64) {
9 | if win.JustPressed(pixelgl.KeySpace) {
10 | s.Toggle()
11 | }
12 |
13 | if win.JustPressed(pixelgl.KeyT) {
14 | ui.Options().ShowAllTrips = !ui.Options().ShowAllTrips
15 | }
16 |
17 | if win.Pressed(pixelgl.KeyLeft) {
18 | ui.Cam().CamPos.X -= ui.Cam().CamSpeed * dt
19 | }
20 | if win.Pressed(pixelgl.KeyRight) {
21 | ui.Cam().CamPos.X += ui.Cam().CamSpeed * dt
22 | }
23 | if win.Pressed(pixelgl.KeyDown) {
24 | ui.Cam().CamPos.Y -= ui.Cam().CamSpeed * dt
25 | }
26 | if win.Pressed(pixelgl.KeyUp) {
27 | ui.Cam().CamPos.Y += ui.Cam().CamSpeed * dt
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/simulator/init.go:
--------------------------------------------------------------------------------
1 | package simulator
2 |
3 | import (
4 | "bufio"
5 | "fmt"
6 | "log"
7 | "os"
8 | "strconv"
9 | "strings"
10 |
11 | ghashcode "github.com/AkselsLedins/google-hashcode-2018-live-simulation/ghashcode"
12 | )
13 |
14 | // ParseOutputFile it parse the file that your program has created
15 | // It's the file you send to the Google Hashcode Judge System
16 | func (s *Simulation) ParseOutputFile(filePath string) {
17 | file, err := os.Open(filePath)
18 | if err != nil {
19 | log.Panicf("failed to open file: %s", err)
20 | }
21 |
22 | scanner := bufio.NewScanner(file)
23 |
24 | // create a slice of vehicles
25 | var vehicles []*ghashcode.Vehicle
26 |
27 | for scanner.Scan() {
28 | // retrieve the line
29 | line := scanner.Text()
30 |
31 | // retrieve the trips' list
32 | strs := strings.Split(line, " ")
33 | numberOfTrips, _ := strconv.Atoi(strs[0])
34 | if numberOfTrips == 0 {
35 | continue
36 | }
37 | trips := make([]int32, numberOfTrips)
38 | for i := range strs {
39 | if i > 0 {
40 | val, _ := strconv.Atoi(strs[i])
41 | trips[i-1] = int32(val)
42 | }
43 | }
44 |
45 | // no point to store a vehicle that has no trips
46 | if len(trips) == 0 {
47 | continue
48 | }
49 |
50 | // instantiate a vehicle and append it to the vehicle slice
51 | vehicle := ghashcode.NewVehicle(trips)
52 | vehicles = append(vehicles, vehicle)
53 | }
54 |
55 | s.Vehicles = vehicles
56 | }
57 |
58 | // ParseInputFile it parse the examples
59 | // It's the file you send to the Google Hashcode Judge System
60 | func (s *Simulation) ParseInputFile(filePath string) {
61 | file, err := os.Open(filePath)
62 | if err != nil {
63 | log.Panicf("failed to open file: %s", err)
64 | }
65 |
66 | scanner := bufio.NewScanner(file)
67 |
68 | // File format
69 | // The first line of the input file contains the following integer numbers separated by single spaces:
70 | // ● R – number of rows of the grid (1 ≤ R ≤ 10000)
71 | // ● C – number of columns of the grid (1 ≤ C ≤ 10000)
72 | // ● F – number of vehicles in the fleet (1 ≤ F ≤ 1000)
73 | // ● N – number of rides (1 ≤ N ≤ 10000)
74 | // ● B – per-ride bonus for starting the ride on time (1 ≤ B ≤ 10000)
75 | // ● T – number of steps in the simulation (1 ≤ T ≤ 10 )
76 | scanner.Scan()
77 | firstLine := scanner.Text()
78 |
79 | fmt.Sscanf(firstLine, "%d %d %d %d %d %d",
80 | &s.gridRows,
81 | &s.gridColumns,
82 | &s.numberOfVehicles,
83 | &s.numberOfRides,
84 | &s.perRideBonus,
85 | &s.numberOfStepsInTheSimulation)
86 |
87 | var trips []*ghashcode.Trip
88 | for id := 0; scanner.Scan(); id++ {
89 | line := scanner.Text()
90 | // N subsequent lines of the input file describe the individual rides, from ride 0 to ride N − 1 . Each line
91 | // contains the following integer numbers separated by single spaces:
92 | // ● a – the row of the start intersection (0 ≤ a < R)
93 | // ● b – the column of the start intersection (0 ≤ b < C)
94 | // ● x – the row of the finish intersection (0 ≤ x < R)
95 | // ● y – the column of the finish intersection (0 ≤ y < C)
96 | // ● s – the earliest start(0 ≤ s < T)
97 | // ● f – the latest finish (0 ≤ f ≤ T) , (f ≥ s + |x − a| + |y − b|)
98 | // ○ note that f can be equal to T – this makes the latest finish equal to the end of the simulation
99 | var a, b, x, y, s, f int32
100 | fmt.Sscanf(line, "%d %d %d %d %d %d", &a, &b, &x, &y, &s, &f)
101 |
102 | // initialize a new trip
103 | trip := ghashcode.NewTrip(id, a, b, x, y, s, f)
104 | // and add it to the trips slice
105 | trips = append(trips, trip)
106 | }
107 |
108 | s.Trips = trips
109 | }
110 |
--------------------------------------------------------------------------------
/simulator/simulation.go:
--------------------------------------------------------------------------------
1 | package simulator
2 |
3 | import (
4 | ghashcode "github.com/AkselsLedins/google-hashcode-2018-live-simulation/ghashcode"
5 |
6 | "github.com/faiface/pixel/imdraw"
7 | )
8 |
9 | // Simulation is a struct handling information about the simulation
10 | type Simulation struct {
11 | Stopped bool
12 | Ended bool
13 |
14 | LastStep int
15 | Step int
16 | Score int
17 |
18 | Trips []*ghashcode.Trip
19 | Vehicles []*ghashcode.Vehicle
20 |
21 | // configuration
22 | gridRows int16
23 | gridColumns int16
24 | numberOfVehicles int16
25 | numberOfRides int16
26 | perRideBonus int16
27 | numberOfStepsInTheSimulation int
28 | }
29 |
30 | func (s *Simulation) Run(imd *imdraw.IMDraw) {
31 | // if gui is enabled
32 | if imd != nil {
33 | for _, trip := range s.Trips {
34 | trip.AddToImd(imd)
35 | }
36 | }
37 |
38 | remainingVehicles := 0
39 | for _, vehicle := range s.Vehicles {
40 | if !vehicle.Enabled {
41 | continue
42 | }
43 | remainingVehicles++
44 | // if gui is enabled
45 | if imd != nil {
46 | vehicle.AddToImd(imd)
47 | }
48 | if s.LastStep != s.Step && !s.Stopped {
49 | s.Score += vehicle.Drive(s.Trips, s.Step, s.perRideBonus)
50 | }
51 | }
52 |
53 | if !s.Stopped {
54 | s.Step++
55 | }
56 |
57 | // or the simulation reaches its final step T
58 | if (s.Step >= int(s.numberOfStepsInTheSimulation) && s.numberOfStepsInTheSimulation != 0) || remainingVehicles == 0 {
59 | s.Ended = true
60 | s.Stop()
61 | }
62 | }
63 |
64 | func (s *Simulation) Toggle() {
65 | s.Stopped = !s.Stopped
66 | }
67 |
68 | func (s *Simulation) Stop() {
69 | s.Stopped = true
70 | }
71 |
72 | func (s *Simulation) Start() {
73 | s.Stopped = false
74 | }
75 |
76 | // NewSimulation a constructor for the simulation
77 | // which set the default values
78 | func NewSimulation() *Simulation {
79 | s := new(Simulation)
80 |
81 | s.LastStep = -1
82 | s.Step = 0
83 | s.Stopped = true
84 | s.Ended = false
85 |
86 | return s
87 | }
88 |
--------------------------------------------------------------------------------
/test/score-a.sh:
--------------------------------------------------------------------------------
1 | result=$(go run main.go -o resources/output-files/a.out -i resources/input-files/a_example.in -noGui)
2 | echo "A) result " $result
3 | if [ $result == 10 ]; then
4 | echo "Good :)"
5 | exit 0
6 | fi
7 | echo "Bad :)"
8 | exit 1
9 |
--------------------------------------------------------------------------------
/test/score-b.sh:
--------------------------------------------------------------------------------
1 | result=$(go run main.go -o resources/output-files/b.out -i resources/input-files/b_should_be_easy.in -noGui)
2 | echo "B) result " $result
3 | if [ $result == 171231 ]; then
4 | echo "Good :)"
5 | exit 0
6 | fi
7 | echo "Bad :)"
8 | exit 1
9 |
--------------------------------------------------------------------------------
/test/score-c.sh:
--------------------------------------------------------------------------------
1 | result=$(go run main.go -o resources/output-files/c.out -i resources/input-files/c_no_hurry.in -noGui)
2 | echo "C) result " $result
3 | if [ $result == 7377192 ]; then
4 | echo "Good :)"
5 | exit 0
6 | fi
7 | echo "Bad :)"
8 | exit 1
9 |
10 |
--------------------------------------------------------------------------------
/test/score-d.sh:
--------------------------------------------------------------------------------
1 | result=$(go run main.go -o resources/output-files/d.out -i resources/input-files/d_metropolis.in -noGui)
2 | echo "D) result " $result
3 | if [ $result == 3360230 ]; then
4 | echo "Good :)"
5 | exit 0
6 | fi
7 | echo "Bad :)"
8 | exit 1
9 |
10 |
--------------------------------------------------------------------------------
/test/score-e.sh:
--------------------------------------------------------------------------------
1 | result=$(go run main.go -o resources/output-files/e.out -i resources/input-files/e_high_bonus.in -noGui)
2 | echo "E) result " $result
3 | if [ $result == 16381105 ]; then
4 | echo "Good :)"
5 | exit 0
6 | fi
7 | echo "Bad :)"
8 | exit 1
9 |
--------------------------------------------------------------------------------
/ui/cam.go:
--------------------------------------------------------------------------------
1 | package ui
2 |
3 | import (
4 | "math"
5 |
6 | "github.com/faiface/pixel"
7 | "github.com/faiface/pixel/pixelgl"
8 | )
9 |
10 | type cam struct {
11 | CamPos pixel.Vec
12 | CamSpeed float64
13 | CamZoom float64
14 | CamZoomSpeed float64
15 | }
16 |
17 | var (
18 | camera *cam
19 | )
20 |
21 | func init() {
22 | camera = new(cam)
23 |
24 | camera.CamPos = pixel.V(500, 350)
25 | camera.CamSpeed = 500.0
26 | camera.CamZoom = 1.0
27 | camera.CamZoomSpeed = 1.2
28 | }
29 |
30 | // Cam return the singleton cam
31 | func Cam() *cam {
32 | return camera
33 | }
34 |
35 | func (c *cam) GetMatrix(win *pixelgl.Window) pixel.Matrix {
36 | c.CamZoom *= math.Pow(c.CamZoomSpeed, win.MouseScroll().Y)
37 | return pixel.IM.Scaled(c.CamPos, c.CamZoom).Moved(win.Bounds().Center().Sub(c.CamPos))
38 | }
39 |
--------------------------------------------------------------------------------
/ui/options.go:
--------------------------------------------------------------------------------
1 | package ui
2 |
3 | type options struct {
4 | ShowAllTrips bool
5 | }
6 |
7 | var (
8 | opt *options
9 | )
10 |
11 | func init() {
12 | opt = new(options)
13 | opt.ShowAllTrips = false
14 | }
15 |
16 | func Options() *options {
17 | return opt
18 | }
19 |
--------------------------------------------------------------------------------
/ui/ui.go:
--------------------------------------------------------------------------------
1 | package ui
2 |
3 | import (
4 | "fmt"
5 |
6 | "github.com/faiface/pixel"
7 | "github.com/faiface/pixel/pixelgl"
8 | "github.com/faiface/pixel/text"
9 | "golang.org/x/image/font/basicfont"
10 | )
11 |
12 | func DrawScore(win *pixelgl.Window, score int) {
13 | basicAtlas := text.NewAtlas(basicfont.Face7x13, text.ASCII)
14 | txt := text.New(pixel.V(900, 685), basicAtlas)
15 |
16 | fmt.Fprintf(txt, "Score : %09d", score)
17 |
18 | txt.Draw(win, pixel.IM)
19 | }
20 |
21 | func DrawStepNumber(win *pixelgl.Window, step int) {
22 | basicAtlas := text.NewAtlas(basicfont.Face7x13, text.ASCII)
23 | txt := text.New(pixel.V(900, 700), basicAtlas)
24 |
25 | fmt.Fprintf(txt, "Step : %06d", step)
26 |
27 | txt.Draw(win, pixel.IM)
28 | }
29 |
30 | func DrawNumberOfVehicles(win *pixelgl.Window, numberOfVehicles int) {
31 | basicAtlas := text.NewAtlas(basicfont.Face7x13, text.ASCII)
32 | txt := text.New(pixel.V(830, 670), basicAtlas)
33 |
34 | fmt.Fprintf(txt, "Number of cars : %04d", numberOfVehicles)
35 |
36 | txt.Draw(win, pixel.IM)
37 | }
38 |
39 | func DrawNumberOfTrips(win *pixelgl.Window, numberOfTrips int) {
40 | basicAtlas := text.NewAtlas(basicfont.Face7x13, text.ASCII)
41 | txt := text.New(pixel.V(830, 655), basicAtlas)
42 |
43 | fmt.Fprintf(txt, "Number of trips : %04d", numberOfTrips)
44 |
45 | txt.Draw(win, pixel.IM)
46 | }
47 |
48 | func DrawStartHint(win *pixelgl.Window) {
49 | basicAtlas := text.NewAtlas(basicfont.Face7x13, text.ASCII)
50 | txt := text.New(pixel.V(340, 30), basicAtlas)
51 |
52 | fmt.Fprintf(txt, " Press [T] to display all the trips (at your own risk)\n")
53 | fmt.Fprintf(txt, " [Arrow Keys] to move around [Scroll] to Zoom in/out \n")
54 | fmt.Fprintf(txt, " Press [SPACE] to start/pause simulation")
55 |
56 | txt.Draw(win, pixel.IM)
57 | }
58 |
--------------------------------------------------------------------------------