diff --git a/README.md b/README.md
new file mode 100644
index 0000000..3d5bc7f
--- /dev/null
+++ b/README.md
@@ -0,0 +1,147 @@
+# Lab 0: Go tutorial
+
+In this tutorial, we will briefly go over the most important concepts of the Go programming language. You will create a dashboard application visualizing data of the Massachusetts Bay Transportation Authority (MBTA). The main goal of the lab and the linked tutorials is to have you play around with Go --- familiarizing yourself with the covered concepts will come in handy for future labs! :)
+
+## Installation
+
+1. Follow [these instructions](https://go.dev/doc/install) to install Go.
+
+ 2. We recommend using VisualStudio Code to work on the labs. VisualStudio Code can be downloaded [from here](https://code.visualstudio.com/download). After installation, make sure to add Go extensions and tools: Open VS Code, open the extension manager by pressing `Ctrl + Shift + x`, type "go" into the search bar and hit enter, find the Go extension by the GO team at Google and install it, open the command palette by pressing `Ctrl + Shift + p`, run `Go: Install/Update Tools`, select all tools and click ok.
+
+ 3. Clone this github repository: In a directory of your choice, run `git clone https://github.com/MIT-DB-Class/lab0`.
+
+ 4. [Download the database file](https://www.dropbox.com/s/37k6lrqd9uq52aa/mbta.sqlite?dl=1) `mbta.sqlite` and place it in the `lab0` directory (where `main.go` is).
+
+ 5. You should be all set! You can run the code by typing `go run main.go` in your terminal from the `lab0` directory or clicking on "Run and Debug" in VS Code (on the very left, click on the icon with the bug and the triangle and then on "Run and Debug").
+
+## Lab and Go walk through
+
+In the following, we walk you through the lab and want to point your attention towards some Go features. After the installation, the structure of your project should look as follows:
+
+```
+ .
+ ├─ handlers/
+ | ├─ handlers_test.go
+ │ ├─ handlers.go
+ | └─ template.html
+ ├─ ridership_db/
+ | ├─ csv_ridership_db.go
+ │ ├─ interface_ridership_db.go
+ | ├─ ridership_db_test.go
+ | └─ sqlite_ridership_db.go
+ ├─ utils/
+ │ └─ render_chart.go
+ ├─ main.go
+ ├─ mbta.csv
+ ├─ mbta.sqlite # TODO: download using link above
+ ├─ go.mod
+ ├─ go.sum
+ └─ README.md
+```
+
+### Hello world
+
+In this lab you will implement a simple http server that visualizes ridership data from Boston's MBTA metro system. Go provides many tutorials with small sample applications that are a great way to play around with features of the language. For example, [this tutorial](https://go.dev/tour/basics/1) gives an introduction on Go's basic syntax, from structuring your files to writing a "Hello world" program.
+
+Please use the linked tutorials and documentation to familiarize yourself with the Go language, which we will use for all labs in this course. The tutorials and documentation linked in this lab should allow you to fill out the missing functions required for the web app.
+
+Please look at [this documentation](https://pkg.go.dev/net/http#hdr-Servers) for an overview on how http servers are created in Go.
+
+
+### Error handling
+
+Open `ridership_db/sqlite_ridership_db.go`. In line 14, we connect to a Sqlite database. This may fail because of various reasons, for example if the database file `mbta.sqlite` is not present. Go has a built-in `error` type which is used for error handling, and many methods in Go will return an error in addition to their normal return value. This is unlike the use of exceptions for error handling in Python and Java. [This tutorial](https://go.dev/doc/tutorial/handle-errors) discusses error handling in Go in more detail.
+
+
+### Control flow
+You've seen `if` statements when handling errors. `ridership_db/sqlite_ridership_db.go` also implements a very simple iteration logic. In line 33, we run a query against sqlite which returns `rows`, a pointer to the result set. In lines 40-47, we use the `next` and `scan` methods of `rows` to iterate through the result set and add the returned rows to a slice ("a list"). Both slices and pointers are explained in the next subsection --- for now, focus on familiarizing yourself with Go's control flow syntax.
+
+Check out [this tutorial](https://go.dev/tour/flowcontrol/1) to make yourself familiar with control flow in Go.
+
+### Pointers, structs, slices and maps
+
+Now, go to `ridership_db/csv_ridership_db.go` and look at lines 10 to 15. You can see how we define the `CsvRidershipDB` struct (like we have previously defined the `SqliteRidershipDB` struct).
+
+Note that when defining the struct, the asterisks ("\*") in lines 12 and 13 declare that `csvFile` is a *pointer* to an `os.File` and `csvReader` is a *pointer* to a `csv.Reader`. These pointer variables are used to store the memory addresses where the actual `os.File` and `csv.Reader` reside in memory.
+The main use of pointers in Go is to "pass by reference" -- if a function takes a pointer argument and makes a change to the passed value, that value will also be seen by the caller (similarly if a function returns a pointer argument, the returned value may be changed by the caller). If the "\*" is omitted, this is "pass by value"; pass-by-value arguments to functions receive a copy of the value, and thus any changes made to them will be made on a copy and not seen by the caller.
+
+In line 11, you can see how we define a *map*, which is Go's analog to a Python dictionary or a C++ unordered_map.
+You will have to implement the `GetRidershipMethod` for `CsvRidershipDB`, which returns an int64 *slice* (`[]int64`) and an error. Slices are Go's analog to a Python list or a C++ vector. Note that slices and maps are always passed by reference in Go.
+
+Look at [this tutorial](https://go.dev/tour/moretypes/1) to make yourself familiar with pointers, structs, slices and maps. If you want additional material on pointers, have a look at [this tutorial](https://www.geeksforgeeks.org/pointers-in-golang/?ref=lbp).
+
+
+### Methods and interfaces
+
+Both the `SqliteRidershipDB` type and the `CsvRidershipDB` type implement the `RidershipDB` interface, which is defined in `ridership_db/interface_ridership_db.go`. A type implements an interface by implementing all of its methods. Note that this is usually implicit -- nowhere do we explicitly indicate that the two ridership types implement `RidershipDB`. Interfaces allow us to simply use the `RidershipDB` type in lines 23-24 in `handlers.go`, without needing to distinguish which of the two implementations we are using (`SqliteRidershipDB` or `CsvRidershipDB`).
+
+[This tutorial](https://go.dev/tour/methods/1) gives more detail on methods and interfaces.
+
+### It doesn't stop here
+
+The above resources provide a very brief overview of the most important features of the Go language. However, there are many more resources online as Go has a large and supportive community. We strongly encourage you to explore these resources and gain more experience with Go. If you find any tutorials particularly useful, please send them to us! :) 65830-staff [at] mit [dot] edu
+
+
+## The Assignment
+
+Complete the following two tasks for this lab:
+
+### 1. Start an http server and handle requests
+
+This task requires you to start up the http server in `main.go` and handle the user's GET requests by filling out the `HomeHandler` method in `handlers/handlers.go`.
+
+The final web app looks like in the screenshot below, where users can select a T line (e.g. red line) and display its ridership statistics in a bar chart. The `HomeHandler` function first checks which line the user has selected in the drop down menu and then queries ridership numbers for that line from a `RiderhipDB` instance. The returned values are then displayed in a bar chart. You don't need to write code to plot the bar chart yourself, you can simply use the `GenerateBarChart` function in `utils/render_chart.go`.
+
+After completing this task, you should be able to start the web server by running `go run main.go` and see the web app in your browser by going to http://localhost:PORT (where PORT is the port number you specified):
+
+![Screenshot of web app](screenshot.png)
+
+You should also be able to pass the test in `handlers_test.go`: When running `go test` from the `handlers` directory, you should get a similar output to this:
+
+```
+PASS
+ok main/handlers 0.246s
+```
+
+### 2. Run a query over a CSV file
+
+This task requires you to implement the missing methods in `ridership_db/csv_ridership_db.go`
+
+Instead of issuing the query against sqlite, `CsvRidershipDB` directly runs it over the `mbta.csv` CSV file. MBTA divides a day into nine different time periods (*time_period_01*, ..., *time_period_09*). The CSV file contains how many passengers boarded trains during a specific time period, at a specific station and for a specific line and direction. For the queried line (passed to `GetRidership`) compute the total number of passengers that boarded a train for each given time period (for each time period, sum over all stations and directions). The sum for each time period should be an entry in the returned `int64` slice. Make sure to use the `idIdxMap` map to map the time period id strings (e.g. *time_period_01*) to the correct index in the `boardings` slice (e.g. 0).
+
+To use your CSV implementation in the web app, instantiate RidershipDB to be a `CsvRidershipDB` instead of a `SqliteRidershipDB` in lines 23-24 in `handlers/handlers.go`:
+
+```
+// instantiate ridershipDB
+// var db rdb.RidershipDB = &rdb.SqliteRidershipDB{} // Sqlite implementation
+var db rdb.RidershipDB = &rdb.CsvRidershipDB{} // CSV implementation
+```
+
+You should also be able to pass the tests in `ridership_db/ridership_db_test.go`: When running `go test` from the `ridership_db` directory, you should get a similar output to this:
+
+```
+=== RUN TestRidershipDBsMatch
+=== RUN TestRidershipDBsMatch/red
+--- PASS: TestRidershipDBsMatch/red (0.00s)
+=== RUN TestRidershipDBsMatch/green
+--- PASS: TestRidershipDBsMatch/green (0.00s)
+=== RUN TestRidershipDBsMatch/blue
+--- PASS: TestRidershipDBsMatch/blue (0.00s)
+=== RUN TestRidershipDBsMatch/orange
+--- PASS: TestRidershipDBsMatch/orange (0.00s)
+--- PASS: TestRidershipDBsMatch (0.01s)
+PASS
+ok main/ridership_db 0.226s
+```
+
+## Submission
+
+50% of the grade is determined by an autograder, which checks if your code passes the test cases. The remaining 50% comes from us inspecting your code.
+
+To submit your code, please do the following:
+
+1. In the `lab0` directory, run `zip -r submission.zip handlers utils ridership_db main.go`.
+
+2. Submit the generated zip to [the autograder](https://www.gradescope.com/courses/583077/assignments/3263816/).
+
+3. The autograder should give you a score, based on whether your code passes the test cases. We will release the remaining 50% of the grade later.
diff --git a/go.mod b/go.mod
new file mode 100644
index 0000000..c91a912
--- /dev/null
+++ b/go.mod
@@ -0,0 +1,11 @@
+module main
+
+go 1.20
+
+require (
+ github.com/gorilla/mux v1.8.0
+ github.com/mattn/go-sqlite3 v1.14.17
+ github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect
+ github.com/wcharczuk/go-chart v2.0.1+incompatible // indirect
+ golang.org/x/image v0.11.0 // indirect
+)
diff --git a/go.sum b/go.sum
new file mode 100644
index 0000000..58cc185
--- /dev/null
+++ b/go.sum
@@ -0,0 +1,41 @@
+github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g=
+github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
+github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI=
+github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
+github.com/mattn/go-sqlite3 v1.14.17 h1:mCRHCLDUBXgpKAqIKsaAaAsrAlbkeomtRFKXh2L6YIM=
+github.com/mattn/go-sqlite3 v1.14.17/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
+github.com/wcharczuk/go-chart v2.0.1+incompatible h1:0pz39ZAycJFF7ju/1mepnk26RLVLBCWz1STcD3doU0A=
+github.com/wcharczuk/go-chart v2.0.1+incompatible/go.mod h1:PF5tmL4EIx/7Wf+hEkpCqYi5He4u90sw+0+6FhrryuE=
+github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
+golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
+golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
+golang.org/x/image v0.11.0 h1:ds2RoQvBvYTiJkwpSFDwCcDFNX7DqjL2WsUgTNk0Ooo=
+golang.org/x/image v0.11.0/go.mod h1:bglhjqbqVuEb9e9+eNR45Jfu7D+T4Qan+NhQk8Ck2P8=
+golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
+golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
+golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
+golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
+golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
+golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
+golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
+golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
+golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
+golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
+golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
+golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
+golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
diff --git a/handlers/handlers.go b/handlers/handlers.go
new file mode 100644
index 0000000..ed29aaa
--- /dev/null
+++ b/handlers/handlers.go
@@ -0,0 +1,62 @@
+package handlers
+
+import (
+ "encoding/base64"
+ "fmt"
+ "html/template"
+ rdb "main/ridership_db"
+ "main/utils"
+ "net/http"
+ "os"
+ "path/filepath"
+ "runtime"
+)
+
+func HomeHandler(w http.ResponseWriter, r *http.Request) {
+ // Get the selected chart from the query parameter
+ selectedChart := r.URL.Query().Get("line")
+ if selectedChart == "" {
+ selectedChart = "red"
+ }
+
+ // instantiate ridershipDB
+ var db rdb.RidershipDB = &rdb.SqliteRidershipDB{} // Sqlite implementation
+ // var db rdb.RidershipDB = &rdb.CsvRidershipDB{} // CSV implementation
+
+ // TODO: some code goes here
+ // Get the chart data from RidershipDB
+
+ // TODO: some code goes here
+ // Plot the bar chart using utils.GenerateBarChart. The function will return the bar chart
+ // as PNG byte slice. Convert the bytes to a base64 string, which is used to embed images in HTML.
+
+ // Get path to the HTML template for our web app
+ _, currentFilePath, _, _ := runtime.Caller(0)
+ templateFile := filepath.Join(filepath.Dir(currentFilePath), "template.html")
+
+ // Read and parse the HTML so we can use it as our web app template
+ html, err := os.ReadFile(templateFile)
+ if err != nil {
+ http.Error(w, err.Error(), http.StatusInternalServerError)
+ return
+ }
+ tmpl, err := template.New("line").Parse(string(html))
+ if err != nil {
+ http.Error(w, err.Error(), http.StatusInternalServerError)
+ return
+ }
+
+ // TODO: some code goes here
+ // We now want to create a struct to hold the values we want to embed in the HTML
+ data := struct {
+ Image string
+ Chart string
+ }{
+ Image: "", // TODO: base64 string
+ Chart: selectedChart,
+ }
+
+ // TODO: some code goes here
+ // Use tmpl.Execute to generate the final HTML output and send it as a response
+ // to the client's request.
+}
diff --git a/handlers/handlers_test.go b/handlers/handlers_test.go
new file mode 100644
index 0000000..9338734
--- /dev/null
+++ b/handlers/handlers_test.go
@@ -0,0 +1,28 @@
+package handlers
+
+import (
+ "net/http"
+ "net/http/httptest"
+ "testing"
+)
+
+func TestHomeHandler(t *testing.T) {
+ // Create a mock server
+ srv := httptest.NewServer(http.HandlerFunc(HomeHandler))
+ defer srv.Close()
+
+ // Create an HTTP client
+ client := &http.Client{}
+
+ // Send a request to the mock server
+ resp, err := client.Get(srv.URL)
+ if err != nil {
+ t.Fatalf("Failed to send request: %s", err)
+ }
+ defer resp.Body.Close()
+
+ // Check the response
+ if resp.StatusCode != http.StatusOK {
+ t.Errorf("Expected status %d; got %d", http.StatusOK, resp.StatusCode)
+ }
+}
diff --git a/handlers/template.html b/handlers/template.html
new file mode 100644
index 0000000..25149cb
--- /dev/null
+++ b/handlers/template.html
@@ -0,0 +1,24 @@
+
+
+
+Lab 0
+
+
+
+
+
+
+
+
diff --git a/main.go b/main.go
new file mode 100644
index 0000000..cbdfd9e
--- /dev/null
+++ b/main.go
@@ -0,0 +1,13 @@
+package main
+
+import (
+ "fmt"
+ "main/handlers"
+ "net/http"
+)
+
+func main() {
+ // TODO: some code goes here
+ // Fill out the HomeHandler function in handlers/handlers.go which handles the user's GET request.
+ // Start an http server using http.ListenAndServe that handles requests using HomeHandler.
+}
diff --git a/mbta.csv b/mbta.csv
new file mode 100644
index 0000000..fad32be
--- /dev/null
+++ b/mbta.csv
@@ -0,0 +1,2143 @@
+line_id,direction,time_period_id,station_id,total_ons
+blue,0,time_period_01,place-aport,24671
+blue,0,time_period_01,place-aqucl,321
+blue,0,time_period_01,place-bmmnl,17937
+blue,0,time_period_01,place-bomnl,0
+blue,0,time_period_01,place-gover,8
+blue,0,time_period_01,place-mvbcl,38544
+blue,0,time_period_01,place-orhte,23284
+blue,0,time_period_01,place-rbmnl,18921
+blue,0,time_period_01,place-sdmnl,1578
+blue,0,time_period_01,place-state,220
+blue,0,time_period_01,place-wimnl,10790
+blue,0,time_period_01,place-wondl,28742
+blue,0,time_period_02,place-aport,42976
+blue,0,time_period_02,place-aqucl,1297
+blue,0,time_period_02,place-bmmnl,30553
+blue,0,time_period_02,place-bomnl,0
+blue,0,time_period_02,place-gover,37
+blue,0,time_period_02,place-mvbcl,81438
+blue,0,time_period_02,place-orhte,37523
+blue,0,time_period_02,place-rbmnl,28265
+blue,0,time_period_02,place-sdmnl,4531
+blue,0,time_period_02,place-state,483
+blue,0,time_period_02,place-wimnl,19373
+blue,0,time_period_02,place-wondl,65393
+blue,0,time_period_03,place-aport,110241
+blue,0,time_period_03,place-aqucl,6181
+blue,0,time_period_03,place-bmmnl,90806
+blue,0,time_period_03,place-bomnl,0
+blue,0,time_period_03,place-gover,144
+blue,0,time_period_03,place-mvbcl,239147
+blue,0,time_period_03,place-orhte,110837
+blue,0,time_period_03,place-rbmnl,69149
+blue,0,time_period_03,place-sdmnl,15114
+blue,0,time_period_03,place-state,1614
+blue,0,time_period_03,place-wimnl,46719
+blue,0,time_period_03,place-wondl,233063
+blue,0,time_period_04,place-aport,113660
+blue,0,time_period_04,place-aqucl,14096
+blue,0,time_period_04,place-bmmnl,55352
+blue,0,time_period_04,place-bomnl,0
+blue,0,time_period_04,place-gover,345
+blue,0,time_period_04,place-mvbcl,189320
+blue,0,time_period_04,place-orhte,73674
+blue,0,time_period_04,place-rbmnl,62431
+blue,0,time_period_04,place-sdmnl,9494
+blue,0,time_period_04,place-state,4286
+blue,0,time_period_04,place-wimnl,33851
+blue,0,time_period_04,place-wondl,121823
+blue,0,time_period_05,place-aport,82284
+blue,0,time_period_05,place-aqucl,19909
+blue,0,time_period_05,place-bmmnl,29239
+blue,0,time_period_05,place-bomnl,0
+blue,0,time_period_05,place-gover,298
+blue,0,time_period_05,place-mvbcl,111056
+blue,0,time_period_05,place-orhte,37192
+blue,0,time_period_05,place-rbmnl,36408
+blue,0,time_period_05,place-sdmnl,5002
+blue,0,time_period_05,place-state,4516
+blue,0,time_period_05,place-wimnl,22986
+blue,0,time_period_05,place-wondl,49182
+blue,0,time_period_06,place-aport,68093
+blue,0,time_period_06,place-aqucl,29958
+blue,0,time_period_06,place-bmmnl,20536
+blue,0,time_period_06,place-bomnl,0
+blue,0,time_period_06,place-gover,350
+blue,0,time_period_06,place-mvbcl,94665
+blue,0,time_period_06,place-orhte,32137
+blue,0,time_period_06,place-rbmnl,27789
+blue,0,time_period_06,place-sdmnl,4588
+blue,0,time_period_06,place-state,8479
+blue,0,time_period_06,place-wimnl,22650
+blue,0,time_period_06,place-wondl,39459
+blue,0,time_period_07,place-aport,44374
+blue,0,time_period_07,place-aqucl,12136
+blue,0,time_period_07,place-bmmnl,9505
+blue,0,time_period_07,place-bomnl,0
+blue,0,time_period_07,place-gover,179
+blue,0,time_period_07,place-mvbcl,42648
+blue,0,time_period_07,place-orhte,14014
+blue,0,time_period_07,place-rbmnl,11137
+blue,0,time_period_07,place-sdmnl,1858
+blue,0,time_period_07,place-state,3432
+blue,0,time_period_07,place-wimnl,8251
+blue,0,time_period_07,place-wondl,23938
+blue,0,time_period_08,place-aport,21030
+blue,0,time_period_08,place-aqucl,4375
+blue,0,time_period_08,place-bmmnl,3293
+blue,0,time_period_08,place-bomnl,0
+blue,0,time_period_08,place-gover,29
+blue,0,time_period_08,place-mvbcl,10278
+blue,0,time_period_08,place-orhte,5584
+blue,0,time_period_08,place-rbmnl,3885
+blue,0,time_period_08,place-sdmnl,320
+blue,0,time_period_08,place-state,745
+blue,0,time_period_08,place-wimnl,3863
+blue,0,time_period_08,place-wondl,9082
+blue,0,time_period_09,place-aport,2512
+blue,0,time_period_09,place-aqucl,686
+blue,0,time_period_09,place-bmmnl,254
+blue,0,time_period_09,place-bomnl,0
+blue,0,time_period_09,place-gover,9
+blue,0,time_period_09,place-mvbcl,1360
+blue,0,time_period_09,place-orhte,656
+blue,0,time_period_09,place-rbmnl,497
+blue,0,time_period_09,place-sdmnl,32
+blue,0,time_period_09,place-state,237
+blue,0,time_period_09,place-wimnl,671
+blue,0,time_period_09,place-wondl,876
+blue,1,time_period_01,place-aport,1215
+blue,1,time_period_01,place-aqucl,736
+blue,1,time_period_01,place-bmmnl,367
+blue,1,time_period_01,place-bomnl,195
+blue,1,time_period_01,place-gover,4983
+blue,1,time_period_01,place-mvbcl,2701
+blue,1,time_period_01,place-orhte,345
+blue,1,time_period_01,place-rbmnl,72
+blue,1,time_period_01,place-sdmnl,32
+blue,1,time_period_01,place-state,8708
+blue,1,time_period_01,place-wimnl,633
+blue,1,time_period_01,place-wondl,0
+blue,1,time_period_02,place-aport,2879
+blue,1,time_period_02,place-aqucl,3097
+blue,1,time_period_02,place-bmmnl,434
+blue,1,time_period_02,place-bomnl,850
+blue,1,time_period_02,place-gover,16398
+blue,1,time_period_02,place-mvbcl,6082
+blue,1,time_period_02,place-orhte,854
+blue,1,time_period_02,place-rbmnl,242
+blue,1,time_period_02,place-sdmnl,72
+blue,1,time_period_02,place-state,30919
+blue,1,time_period_02,place-wimnl,936
+blue,1,time_period_02,place-wondl,0
+blue,1,time_period_03,place-aport,5943
+blue,1,time_period_03,place-aqucl,6418
+blue,1,time_period_03,place-bmmnl,1783
+blue,1,time_period_03,place-bomnl,4450
+blue,1,time_period_03,place-gover,37279
+blue,1,time_period_03,place-mvbcl,14181
+blue,1,time_period_03,place-orhte,2612
+blue,1,time_period_03,place-rbmnl,724
+blue,1,time_period_03,place-sdmnl,165
+blue,1,time_period_03,place-state,57670
+blue,1,time_period_03,place-wimnl,1926
+blue,1,time_period_03,place-wondl,0
+blue,1,time_period_04,place-aport,12307
+blue,1,time_period_04,place-aqucl,22948
+blue,1,time_period_04,place-bmmnl,3227
+blue,1,time_period_04,place-bomnl,21972
+blue,1,time_period_04,place-gover,115203
+blue,1,time_period_04,place-mvbcl,23233
+blue,1,time_period_04,place-orhte,4694
+blue,1,time_period_04,place-rbmnl,1307
+blue,1,time_period_04,place-sdmnl,737
+blue,1,time_period_04,place-state,148621
+blue,1,time_period_04,place-wimnl,2850
+blue,1,time_period_04,place-wondl,0
+blue,1,time_period_05,place-aport,18092
+blue,1,time_period_05,place-aqucl,54445
+blue,1,time_period_05,place-bmmnl,2722
+blue,1,time_period_05,place-bomnl,35496
+blue,1,time_period_05,place-gover,191799
+blue,1,time_period_05,place-mvbcl,26091
+blue,1,time_period_05,place-orhte,4470
+blue,1,time_period_05,place-rbmnl,1188
+blue,1,time_period_05,place-sdmnl,833
+blue,1,time_period_05,place-state,235362
+blue,1,time_period_05,place-wimnl,4251
+blue,1,time_period_05,place-wondl,0
+blue,1,time_period_06,place-aport,17420
+blue,1,time_period_06,place-aqucl,114850
+blue,1,time_period_06,place-bmmnl,2287
+blue,1,time_period_06,place-bomnl,74788
+blue,1,time_period_06,place-gover,319292
+blue,1,time_period_06,place-mvbcl,29881
+blue,1,time_period_06,place-orhte,5335
+blue,1,time_period_06,place-rbmnl,1204
+blue,1,time_period_06,place-sdmnl,1028
+blue,1,time_period_06,place-state,405163
+blue,1,time_period_06,place-wimnl,4940
+blue,1,time_period_06,place-wondl,0
+blue,1,time_period_07,place-aport,25165
+blue,1,time_period_07,place-aqucl,65584
+blue,1,time_period_07,place-bmmnl,2048
+blue,1,time_period_07,place-bomnl,24632
+blue,1,time_period_07,place-gover,230197
+blue,1,time_period_07,place-mvbcl,22465
+blue,1,time_period_07,place-orhte,3913
+blue,1,time_period_07,place-rbmnl,625
+blue,1,time_period_07,place-sdmnl,424
+blue,1,time_period_07,place-state,212073
+blue,1,time_period_07,place-wimnl,2505
+blue,1,time_period_07,place-wondl,0
+blue,1,time_period_08,place-aport,13270
+blue,1,time_period_08,place-aqucl,43867
+blue,1,time_period_08,place-bmmnl,596
+blue,1,time_period_08,place-bomnl,12157
+blue,1,time_period_08,place-gover,156766
+blue,1,time_period_08,place-mvbcl,6126
+blue,1,time_period_08,place-orhte,1492
+blue,1,time_period_08,place-rbmnl,289
+blue,1,time_period_08,place-sdmnl,153
+blue,1,time_period_08,place-state,96722
+blue,1,time_period_08,place-wimnl,1770
+blue,1,time_period_08,place-wondl,0
+blue,1,time_period_09,place-aport,2807
+blue,1,time_period_09,place-aqucl,9141
+blue,1,time_period_09,place-bmmnl,96
+blue,1,time_period_09,place-bomnl,1301
+blue,1,time_period_09,place-gover,35583
+blue,1,time_period_09,place-mvbcl,1688
+blue,1,time_period_09,place-orhte,302
+blue,1,time_period_09,place-rbmnl,12
+blue,1,time_period_09,place-sdmnl,49
+blue,1,time_period_09,place-state,20222
+blue,1,time_period_09,place-wimnl,274
+blue,1,time_period_09,place-wondl,0
+green,0,time_period_01,place-alsgr,0
+green,0,time_period_01,place-armnl,1082
+green,0,time_period_01,place-babck,1
+green,0,time_period_01,place-bckhl,0
+green,0,time_period_01,place-bcnfd,13
+green,0,time_period_01,place-bcnwa,0
+green,0,time_period_01,place-bland,51
+green,0,time_period_01,place-bndhl,0
+green,0,time_period_01,place-boyls,1397
+green,0,time_period_01,place-brico,0
+green,0,time_period_01,place-brkhl,39
+green,0,time_period_01,place-brmnl,16
+green,0,time_period_01,place-bucen,34
+green,0,time_period_01,place-buest,8
+green,0,time_period_01,place-buwst,1
+green,0,time_period_01,place-bvmnl,467
+green,0,time_period_01,place-chhil,1
+green,0,time_period_01,place-chill,0
+green,0,time_period_01,place-chswk,0
+green,0,time_period_01,place-clmnl,0
+green,0,time_period_01,place-coecl,1763
+green,0,time_period_01,place-cool,0
+green,0,time_period_01,place-denrd,0
+green,0,time_period_01,place-eliot,0
+green,0,time_period_01,place-engav,0
+green,0,time_period_01,place-fbkst,0
+green,0,time_period_01,place-fenwd,20
+green,0,time_period_01,place-fenwy,38
+green,0,time_period_01,place-gover,32583
+green,0,time_period_01,place-grigg,0
+green,0,time_period_01,place-haecl,21729
+green,0,time_period_01,place-harvd,3
+green,0,time_period_01,place-hsmnl,0
+green,0,time_period_01,place-hwsst,0
+green,0,time_period_01,place-hymnl,779
+green,0,time_period_01,place-kencl,330
+green,0,time_period_01,place-kntst,0
+green,0,time_period_01,place-lake,0
+green,0,time_period_01,place-lech,5860
+green,0,time_period_01,place-lngmd,61
+green,0,time_period_01,place-longw,59
+green,0,time_period_01,place-mfa,44
+green,0,time_period_01,place-mispk,19
+green,0,time_period_01,place-newtn,8
+green,0,time_period_01,place-newto,4
+green,0,time_period_01,place-north,4979
+green,0,time_period_01,place-nuniv,120
+green,0,time_period_01,place-pktrm,13521
+green,0,time_period_01,place-plsgr,0
+green,0,time_period_01,place-prmnl,308
+green,0,time_period_01,place-river,0
+green,0,time_period_01,place-rsmnl,78
+green,0,time_period_01,place-rvrwy,9
+green,0,time_period_01,place-smary,0
+green,0,time_period_01,place-sougr,0
+green,0,time_period_01,place-spmnl,492
+green,0,time_period_01,place-sthld,0
+green,0,time_period_01,place-stpul,0
+green,0,time_period_01,place-sumav,0
+green,0,time_period_01,place-symcl,383
+green,0,time_period_01,place-tapst,0
+green,0,time_period_01,place-waban,3
+green,0,time_period_01,place-wascm,0
+green,0,time_period_01,place-woodl,0
+green,0,time_period_01,place-wrnst,0
+green,0,time_period_02,place-alsgr,444
+green,0,time_period_02,place-armnl,6295
+green,0,time_period_02,place-babck,53
+green,0,time_period_02,place-bckhl,72
+green,0,time_period_02,place-bcnfd,596
+green,0,time_period_02,place-bcnwa,99
+green,0,time_period_02,place-bland,129
+green,0,time_period_02,place-bndhl,48
+green,0,time_period_02,place-boyls,5858
+green,0,time_period_02,place-brico,131
+green,0,time_period_02,place-brkhl,254
+green,0,time_period_02,place-brmnl,115
+green,0,time_period_02,place-bucen,113
+green,0,time_period_02,place-buest,67
+green,0,time_period_02,place-buwst,25
+green,0,time_period_02,place-bvmnl,3305
+green,0,time_period_02,place-chhil,130
+green,0,time_period_02,place-chill,67
+green,0,time_period_02,place-chswk,27
+green,0,time_period_02,place-clmnl,0
+green,0,time_period_02,place-coecl,10750
+green,0,time_period_02,place-cool,321
+green,0,time_period_02,place-denrd,4
+green,0,time_period_02,place-eliot,78
+green,0,time_period_02,place-engav,5
+green,0,time_period_02,place-fbkst,16
+green,0,time_period_02,place-fenwd,41
+green,0,time_period_02,place-fenwy,583
+green,0,time_period_02,place-gover,81165
+green,0,time_period_02,place-grigg,247
+green,0,time_period_02,place-haecl,31181
+green,0,time_period_02,place-harvd,1282
+green,0,time_period_02,place-hsmnl,0
+green,0,time_period_02,place-hwsst,27
+green,0,time_period_02,place-hymnl,3989
+green,0,time_period_02,place-kencl,4515
+green,0,time_period_02,place-kntst,7
+green,0,time_period_02,place-lake,0
+green,0,time_period_02,place-lech,12632
+green,0,time_period_02,place-lngmd,179
+green,0,time_period_02,place-longw,633
+green,0,time_period_02,place-mfa,186
+green,0,time_period_02,place-mispk,88
+green,0,time_period_02,place-newtn,370
+green,0,time_period_02,place-newto,303
+green,0,time_period_02,place-north,29947
+green,0,time_period_02,place-nuniv,658
+green,0,time_period_02,place-pktrm,69815
+green,0,time_period_02,place-plsgr,45
+green,0,time_period_02,place-prmnl,1076
+green,0,time_period_02,place-river,0
+green,0,time_period_02,place-rsmnl,2328
+green,0,time_period_02,place-rvrwy,117
+green,0,time_period_02,place-smary,78
+green,0,time_period_02,place-sougr,0
+green,0,time_period_02,place-spmnl,2637
+green,0,time_period_02,place-sthld,55
+green,0,time_period_02,place-stpul,59
+green,0,time_period_02,place-sumav,123
+green,0,time_period_02,place-symcl,1040
+green,0,time_period_02,place-tapst,57
+green,0,time_period_02,place-waban,104
+green,0,time_period_02,place-wascm,358
+green,0,time_period_02,place-woodl,0
+green,0,time_period_02,place-wrnst,303
+green,0,time_period_03,place-alsgr,2213
+green,0,time_period_03,place-armnl,27282
+green,0,time_period_03,place-babck,770
+green,0,time_period_03,place-bckhl,331
+green,0,time_period_03,place-bcnfd,3587
+green,0,time_period_03,place-bcnwa,866
+green,0,time_period_03,place-bland,1125
+green,0,time_period_03,place-bndhl,536
+green,0,time_period_03,place-boyls,29855
+green,0,time_period_03,place-brico,1413
+green,0,time_period_03,place-brkhl,2925
+green,0,time_period_03,place-brmnl,506
+green,0,time_period_03,place-bucen,867
+green,0,time_period_03,place-buest,613
+green,0,time_period_03,place-buwst,277
+green,0,time_period_03,place-bvmnl,9878
+green,0,time_period_03,place-chhil,1127
+green,0,time_period_03,place-chill,270
+green,0,time_period_03,place-chswk,265
+green,0,time_period_03,place-clmnl,0
+green,0,time_period_03,place-coecl,76339
+green,0,time_period_03,place-cool,2830
+green,0,time_period_03,place-denrd,125
+green,0,time_period_03,place-eliot,488
+green,0,time_period_03,place-engav,0
+green,0,time_period_03,place-fbkst,319
+green,0,time_period_03,place-fenwd,112
+green,0,time_period_03,place-fenwy,5434
+green,0,time_period_03,place-gover,228113
+green,0,time_period_03,place-grigg,2204
+green,0,time_period_03,place-haecl,93483
+green,0,time_period_03,place-harvd,3507
+green,0,time_period_03,place-hsmnl,0
+green,0,time_period_03,place-hwsst,355
+green,0,time_period_03,place-hymnl,18791
+green,0,time_period_03,place-kencl,22719
+green,0,time_period_03,place-kntst,365
+green,0,time_period_03,place-lake,0
+green,0,time_period_03,place-lech,86982
+green,0,time_period_03,place-lngmd,783
+green,0,time_period_03,place-longw,5251
+green,0,time_period_03,place-mfa,770
+green,0,time_period_03,place-mispk,245
+green,0,time_period_03,place-newtn,935
+green,0,time_period_03,place-newto,1243
+green,0,time_period_03,place-north,175125
+green,0,time_period_03,place-nuniv,2090
+green,0,time_period_03,place-pktrm,372177
+green,0,time_period_03,place-plsgr,427
+green,0,time_period_03,place-prmnl,5156
+green,0,time_period_03,place-river,0
+green,0,time_period_03,place-rsmnl,11263
+green,0,time_period_03,place-rvrwy,402
+green,0,time_period_03,place-smary,1234
+green,0,time_period_03,place-sougr,1
+green,0,time_period_03,place-spmnl,21286
+green,0,time_period_03,place-sthld,766
+green,0,time_period_03,place-stpul,674
+green,0,time_period_03,place-sumav,1948
+green,0,time_period_03,place-symcl,3913
+green,0,time_period_03,place-tapst,171
+green,0,time_period_03,place-waban,507
+green,0,time_period_03,place-wascm,2146
+green,0,time_period_03,place-woodl,6
+green,0,time_period_03,place-wrnst,2514
+green,0,time_period_04,place-alsgr,2258
+green,0,time_period_04,place-armnl,45676
+green,0,time_period_04,place-babck,2139
+green,0,time_period_04,place-bckhl,293
+green,0,time_period_04,place-bcnfd,2481
+green,0,time_period_04,place-bcnwa,796
+green,0,time_period_04,place-bland,10227
+green,0,time_period_04,place-bndhl,400
+green,0,time_period_04,place-boyls,72322
+green,0,time_period_04,place-brico,5992
+green,0,time_period_04,place-brkhl,3701
+green,0,time_period_04,place-brmnl,1661
+green,0,time_period_04,place-bucen,12169
+green,0,time_period_04,place-buest,11065
+green,0,time_period_04,place-buwst,2621
+green,0,time_period_04,place-bvmnl,11894
+green,0,time_period_04,place-chhil,1161
+green,0,time_period_04,place-chill,498
+green,0,time_period_04,place-chswk,449
+green,0,time_period_04,place-clmnl,0
+green,0,time_period_04,place-coecl,102971
+green,0,time_period_04,place-cool,10352
+green,0,time_period_04,place-denrd,228
+green,0,time_period_04,place-eliot,517
+green,0,time_period_04,place-engav,35
+green,0,time_period_04,place-fbkst,432
+green,0,time_period_04,place-fenwd,489
+green,0,time_period_04,place-fenwy,8863
+green,0,time_period_04,place-gover,227882
+green,0,time_period_04,place-grigg,2582
+green,0,time_period_04,place-haecl,105043
+green,0,time_period_04,place-harvd,8934
+green,0,time_period_04,place-hsmnl,0
+green,0,time_period_04,place-hwsst,1264
+green,0,time_period_04,place-hymnl,41987
+green,0,time_period_04,place-kencl,44540
+green,0,time_period_04,place-kntst,1226
+green,0,time_period_04,place-lake,0
+green,0,time_period_04,place-lech,90601
+green,0,time_period_04,place-lngmd,2569
+green,0,time_period_04,place-longw,8367
+green,0,time_period_04,place-mfa,2199
+green,0,time_period_04,place-mispk,606
+green,0,time_period_04,place-newtn,1127
+green,0,time_period_04,place-newto,1959
+green,0,time_period_04,place-north,121909
+green,0,time_period_04,place-nuniv,7151
+green,0,time_period_04,place-pktrm,439145
+green,0,time_period_04,place-plsgr,2586
+green,0,time_period_04,place-prmnl,9293
+green,0,time_period_04,place-river,0
+green,0,time_period_04,place-rsmnl,9467
+green,0,time_period_04,place-rvrwy,550
+green,0,time_period_04,place-smary,5465
+green,0,time_period_04,place-sougr,17
+green,0,time_period_04,place-spmnl,30430
+green,0,time_period_04,place-sthld,1051
+green,0,time_period_04,place-stpul,1408
+green,0,time_period_04,place-sumav,3346
+green,0,time_period_04,place-symcl,7103
+green,0,time_period_04,place-tapst,602
+green,0,time_period_04,place-waban,657
+green,0,time_period_04,place-wascm,3519
+green,0,time_period_04,place-woodl,88
+green,0,time_period_04,place-wrnst,3100
+green,0,time_period_05,place-alsgr,1243
+green,0,time_period_05,place-armnl,36122
+green,0,time_period_05,place-babck,1837
+green,0,time_period_05,place-bckhl,168
+green,0,time_period_05,place-bcnfd,1295
+green,0,time_period_05,place-bcnwa,710
+green,0,time_period_05,place-bland,9243
+green,0,time_period_05,place-bndhl,199
+green,0,time_period_05,place-boyls,59490
+green,0,time_period_05,place-brico,5236
+green,0,time_period_05,place-brkhl,5745
+green,0,time_period_05,place-brmnl,1868
+green,0,time_period_05,place-bucen,11276
+green,0,time_period_05,place-buest,9290
+green,0,time_period_05,place-buwst,3027
+green,0,time_period_05,place-bvmnl,6905
+green,0,time_period_05,place-chhil,1572
+green,0,time_period_05,place-chill,379
+green,0,time_period_05,place-chswk,194
+green,0,time_period_05,place-clmnl,0
+green,0,time_period_05,place-coecl,82072
+green,0,time_period_05,place-cool,8962
+green,0,time_period_05,place-denrd,91
+green,0,time_period_05,place-eliot,222
+green,0,time_period_05,place-engav,11
+green,0,time_period_05,place-fbkst,209
+green,0,time_period_05,place-fenwd,559
+green,0,time_period_05,place-fenwy,9433
+green,0,time_period_05,place-gover,159965
+green,0,time_period_05,place-grigg,1626
+green,0,time_period_05,place-haecl,69113
+green,0,time_period_05,place-harvd,8492
+green,0,time_period_05,place-hsmnl,0
+green,0,time_period_05,place-hwsst,910
+green,0,time_period_05,place-hymnl,41431
+green,0,time_period_05,place-kencl,33764
+green,0,time_period_05,place-kntst,913
+green,0,time_period_05,place-lake,0
+green,0,time_period_05,place-lech,67752
+green,0,time_period_05,place-lngmd,2112
+green,0,time_period_05,place-longw,12394
+green,0,time_period_05,place-mfa,1754
+green,0,time_period_05,place-mispk,338
+green,0,time_period_05,place-newtn,539
+green,0,time_period_05,place-newto,1312
+green,0,time_period_05,place-north,58313
+green,0,time_period_05,place-nuniv,6506
+green,0,time_period_05,place-pktrm,264047
+green,0,time_period_05,place-plsgr,2024
+green,0,time_period_05,place-prmnl,6350
+green,0,time_period_05,place-river,0
+green,0,time_period_05,place-rsmnl,4205
+green,0,time_period_05,place-rvrwy,283
+green,0,time_period_05,place-smary,5685
+green,0,time_period_05,place-sougr,9
+green,0,time_period_05,place-spmnl,25542
+green,0,time_period_05,place-sthld,387
+green,0,time_period_05,place-stpul,846
+green,0,time_period_05,place-sumav,1727
+green,0,time_period_05,place-symcl,4291
+green,0,time_period_05,place-tapst,469
+green,0,time_period_05,place-waban,291
+green,0,time_period_05,place-wascm,1571
+green,0,time_period_05,place-woodl,12
+green,0,time_period_05,place-wrnst,2238
+green,0,time_period_06,place-alsgr,1573
+green,0,time_period_06,place-armnl,74596
+green,0,time_period_06,place-babck,2253
+green,0,time_period_06,place-bckhl,174
+green,0,time_period_06,place-bcnfd,1325
+green,0,time_period_06,place-bcnwa,946
+green,0,time_period_06,place-bland,9255
+green,0,time_period_06,place-bndhl,279
+green,0,time_period_06,place-boyls,97585
+green,0,time_period_06,place-brico,6634
+green,0,time_period_06,place-brkhl,3317
+green,0,time_period_06,place-brmnl,2909
+green,0,time_period_06,place-bucen,10302
+green,0,time_period_06,place-buest,8875
+green,0,time_period_06,place-buwst,4109
+green,0,time_period_06,place-bvmnl,7000
+green,0,time_period_06,place-chhil,2225
+green,0,time_period_06,place-chill,543
+green,0,time_period_06,place-chswk,238
+green,0,time_period_06,place-clmnl,0
+green,0,time_period_06,place-coecl,155972
+green,0,time_period_06,place-cool,13587
+green,0,time_period_06,place-denrd,153
+green,0,time_period_06,place-eliot,343
+green,0,time_period_06,place-engav,37
+green,0,time_period_06,place-fbkst,333
+green,0,time_period_06,place-fenwd,987
+green,0,time_period_06,place-fenwy,11866
+green,0,time_period_06,place-gover,244037
+green,0,time_period_06,place-grigg,2026
+green,0,time_period_06,place-haecl,82627
+green,0,time_period_06,place-harvd,10738
+green,0,time_period_06,place-hsmnl,0
+green,0,time_period_06,place-hwsst,1266
+green,0,time_period_06,place-hymnl,89261
+green,0,time_period_06,place-kencl,57995
+green,0,time_period_06,place-kntst,1385
+green,0,time_period_06,place-lake,0
+green,0,time_period_06,place-lech,125002
+green,0,time_period_06,place-lngmd,2779
+green,0,time_period_06,place-longw,17731
+green,0,time_period_06,place-mfa,2514
+green,0,time_period_06,place-mispk,397
+green,0,time_period_06,place-newtn,1039
+green,0,time_period_06,place-newto,1689
+green,0,time_period_06,place-north,102516
+green,0,time_period_06,place-nuniv,7982
+green,0,time_period_06,place-pktrm,461955
+green,0,time_period_06,place-plsgr,2777
+green,0,time_period_06,place-prmnl,9592
+green,0,time_period_06,place-river,0
+green,0,time_period_06,place-rsmnl,4523
+green,0,time_period_06,place-rvrwy,406
+green,0,time_period_06,place-smary,9148
+green,0,time_period_06,place-sougr,1
+green,0,time_period_06,place-spmnl,49300
+green,0,time_period_06,place-sthld,376
+green,0,time_period_06,place-stpul,1096
+green,0,time_period_06,place-sumav,2181
+green,0,time_period_06,place-symcl,6192
+green,0,time_period_06,place-tapst,799
+green,0,time_period_06,place-waban,445
+green,0,time_period_06,place-wascm,2339
+green,0,time_period_06,place-woodl,8
+green,0,time_period_06,place-wrnst,1856
+green,0,time_period_07,place-alsgr,1888
+green,0,time_period_07,place-armnl,48114
+green,0,time_period_07,place-babck,3095
+green,0,time_period_07,place-bckhl,84
+green,0,time_period_07,place-bcnfd,1006
+green,0,time_period_07,place-bcnwa,956
+green,0,time_period_07,place-bland,11535
+green,0,time_period_07,place-bndhl,186
+green,0,time_period_07,place-boyls,89516
+green,0,time_period_07,place-brico,9637
+green,0,time_period_07,place-brkhl,2119
+green,0,time_period_07,place-brmnl,1760
+green,0,time_period_07,place-bucen,17700
+green,0,time_period_07,place-buest,12347
+green,0,time_period_07,place-buwst,5864
+green,0,time_period_07,place-bvmnl,6443
+green,0,time_period_07,place-chhil,1242
+green,0,time_period_07,place-chill,552
+green,0,time_period_07,place-chswk,207
+green,0,time_period_07,place-clmnl,0
+green,0,time_period_07,place-coecl,119093
+green,0,time_period_07,place-cool,15991
+green,0,time_period_07,place-denrd,164
+green,0,time_period_07,place-eliot,162
+green,0,time_period_07,place-engav,18
+green,0,time_period_07,place-fbkst,218
+green,0,time_period_07,place-fenwd,655
+green,0,time_period_07,place-fenwy,15046
+green,0,time_period_07,place-gover,112343
+green,0,time_period_07,place-grigg,2615
+green,0,time_period_07,place-haecl,58158
+green,0,time_period_07,place-harvd,13582
+green,0,time_period_07,place-hsmnl,0
+green,0,time_period_07,place-hwsst,1186
+green,0,time_period_07,place-hymnl,86034
+green,0,time_period_07,place-kencl,52764
+green,0,time_period_07,place-kntst,971
+green,0,time_period_07,place-lake,0
+green,0,time_period_07,place-lech,75905
+green,0,time_period_07,place-lngmd,2073
+green,0,time_period_07,place-longw,17129
+green,0,time_period_07,place-mfa,2054
+green,0,time_period_07,place-mispk,279
+green,0,time_period_07,place-newtn,491
+green,0,time_period_07,place-newto,1231
+green,0,time_period_07,place-north,61452
+green,0,time_period_07,place-nuniv,10523
+green,0,time_period_07,place-pktrm,279417
+green,0,time_period_07,place-plsgr,5292
+green,0,time_period_07,place-prmnl,8930
+green,0,time_period_07,place-river,0
+green,0,time_period_07,place-rsmnl,3437
+green,0,time_period_07,place-rvrwy,172
+green,0,time_period_07,place-smary,10224
+green,0,time_period_07,place-sougr,0
+green,0,time_period_07,place-spmnl,26684
+green,0,time_period_07,place-sthld,362
+green,0,time_period_07,place-stpul,1178
+green,0,time_period_07,place-sumav,2068
+green,0,time_period_07,place-symcl,5868
+green,0,time_period_07,place-tapst,974
+green,0,time_period_07,place-waban,246
+green,0,time_period_07,place-wascm,2131
+green,0,time_period_07,place-woodl,23
+green,0,time_period_07,place-wrnst,1775
+green,0,time_period_08,place-alsgr,368
+green,0,time_period_08,place-armnl,13362
+green,0,time_period_08,place-babck,969
+green,0,time_period_08,place-bckhl,27
+green,0,time_period_08,place-bcnfd,186
+green,0,time_period_08,place-bcnwa,152
+green,0,time_period_08,place-bland,2278
+green,0,time_period_08,place-bndhl,45
+green,0,time_period_08,place-boyls,30947
+green,0,time_period_08,place-brico,1915
+green,0,time_period_08,place-brkhl,309
+green,0,time_period_08,place-brmnl,348
+green,0,time_period_08,place-bucen,5815
+green,0,time_period_08,place-buest,2183
+green,0,time_period_08,place-buwst,1551
+green,0,time_period_08,place-bvmnl,1270
+green,0,time_period_08,place-chhil,291
+green,0,time_period_08,place-chill,56
+green,0,time_period_08,place-chswk,3
+green,0,time_period_08,place-clmnl,0
+green,0,time_period_08,place-coecl,22029
+green,0,time_period_08,place-cool,1894
+green,0,time_period_08,place-denrd,5
+green,0,time_period_08,place-eliot,4
+green,0,time_period_08,place-engav,0
+green,0,time_period_08,place-fbkst,31
+green,0,time_period_08,place-fenwd,100
+green,0,time_period_08,place-fenwy,3358
+green,0,time_period_08,place-gover,27574
+green,0,time_period_08,place-grigg,702
+green,0,time_period_08,place-haecl,19491
+green,0,time_period_08,place-harvd,4377
+green,0,time_period_08,place-hsmnl,0
+green,0,time_period_08,place-hwsst,142
+green,0,time_period_08,place-hymnl,24229
+green,0,time_period_08,place-kencl,19089
+green,0,time_period_08,place-kntst,169
+green,0,time_period_08,place-lake,0
+green,0,time_period_08,place-lech,15923
+green,0,time_period_08,place-lngmd,486
+green,0,time_period_08,place-longw,2071
+green,0,time_period_08,place-mfa,498
+green,0,time_period_08,place-mispk,71
+green,0,time_period_08,place-newtn,123
+green,0,time_period_08,place-newto,257
+green,0,time_period_08,place-north,46218
+green,0,time_period_08,place-nuniv,2983
+green,0,time_period_08,place-pktrm,58851
+green,0,time_period_08,place-plsgr,1964
+green,0,time_period_08,place-prmnl,1674
+green,0,time_period_08,place-river,0
+green,0,time_period_08,place-rsmnl,850
+green,0,time_period_08,place-rvrwy,78
+green,0,time_period_08,place-smary,1779
+green,0,time_period_08,place-sougr,0
+green,0,time_period_08,place-spmnl,5323
+green,0,time_period_08,place-sthld,45
+green,0,time_period_08,place-stpul,219
+green,0,time_period_08,place-sumav,258
+green,0,time_period_08,place-symcl,1814
+green,0,time_period_08,place-tapst,175
+green,0,time_period_08,place-waban,17
+green,0,time_period_08,place-wascm,429
+green,0,time_period_08,place-woodl,1
+green,0,time_period_08,place-wrnst,461
+green,0,time_period_09,place-alsgr,112
+green,0,time_period_09,place-armnl,1697
+green,0,time_period_09,place-babck,219
+green,0,time_period_09,place-bckhl,0
+green,0,time_period_09,place-bcnfd,17
+green,0,time_period_09,place-bcnwa,3
+green,0,time_period_09,place-bland,403
+green,0,time_period_09,place-bndhl,1
+green,0,time_period_09,place-boyls,5128
+green,0,time_period_09,place-brico,303
+green,0,time_period_09,place-brkhl,20
+green,0,time_period_09,place-brmnl,41
+green,0,time_period_09,place-bucen,1322
+green,0,time_period_09,place-buest,729
+green,0,time_period_09,place-buwst,184
+green,0,time_period_09,place-bvmnl,198
+green,0,time_period_09,place-chhil,24
+green,0,time_period_09,place-chill,7
+green,0,time_period_09,place-chswk,3
+green,0,time_period_09,place-clmnl,0
+green,0,time_period_09,place-coecl,3357
+green,0,time_period_09,place-cool,242
+green,0,time_period_09,place-denrd,0
+green,0,time_period_09,place-eliot,4
+green,0,time_period_09,place-engav,0
+green,0,time_period_09,place-fbkst,0
+green,0,time_period_09,place-fenwd,21
+green,0,time_period_09,place-fenwy,887
+green,0,time_period_09,place-gover,4683
+green,0,time_period_09,place-grigg,190
+green,0,time_period_09,place-haecl,2589
+green,0,time_period_09,place-harvd,1097
+green,0,time_period_09,place-hsmnl,0
+green,0,time_period_09,place-hwsst,15
+green,0,time_period_09,place-hymnl,4600
+green,0,time_period_09,place-kencl,3696
+green,0,time_period_09,place-kntst,4
+green,0,time_period_09,place-lake,0
+green,0,time_period_09,place-lech,1790
+green,0,time_period_09,place-lngmd,74
+green,0,time_period_09,place-longw,362
+green,0,time_period_09,place-mfa,98
+green,0,time_period_09,place-mispk,5
+green,0,time_period_09,place-newtn,8
+green,0,time_period_09,place-newto,110
+green,0,time_period_09,place-north,2916
+green,0,time_period_09,place-nuniv,488
+green,0,time_period_09,place-pktrm,9928
+green,0,time_period_09,place-plsgr,253
+green,0,time_period_09,place-prmnl,223
+green,0,time_period_09,place-river,0
+green,0,time_period_09,place-rsmnl,238
+green,0,time_period_09,place-rvrwy,1
+green,0,time_period_09,place-smary,212
+green,0,time_period_09,place-sougr,0
+green,0,time_period_09,place-spmnl,495
+green,0,time_period_09,place-sthld,0
+green,0,time_period_09,place-stpul,32
+green,0,time_period_09,place-sumav,16
+green,0,time_period_09,place-symcl,301
+green,0,time_period_09,place-tapst,3
+green,0,time_period_09,place-waban,4
+green,0,time_period_09,place-wascm,36
+green,0,time_period_09,place-woodl,0
+green,0,time_period_09,place-wrnst,98
+green,1,time_period_01,place-alsgr,1269
+green,1,time_period_01,place-armnl,605
+green,1,time_period_01,place-babck,426
+green,1,time_period_01,place-bckhl,79
+green,1,time_period_01,place-bcnfd,932
+green,1,time_period_01,place-bcnwa,1039
+green,1,time_period_01,place-bland,19
+green,1,time_period_01,place-bndhl,281
+green,1,time_period_01,place-boyls,582
+green,1,time_period_01,place-brico,714
+green,1,time_period_01,place-brkhl,705
+green,1,time_period_01,place-brmnl,528
+green,1,time_period_01,place-bucen,153
+green,1,time_period_01,place-buest,19
+green,1,time_period_01,place-buwst,131
+green,1,time_period_01,place-bvmnl,1496
+green,1,time_period_01,place-chhil,1656
+green,1,time_period_01,place-chill,448
+green,1,time_period_01,place-chswk,1032
+green,1,time_period_01,place-clmnl,622
+green,1,time_period_01,place-coecl,2366
+green,1,time_period_01,place-cool,1308
+green,1,time_period_01,place-denrd,318
+green,1,time_period_01,place-eliot,1446
+green,1,time_period_01,place-engav,919
+green,1,time_period_01,place-fbkst,589
+green,1,time_period_01,place-fenwd,156
+green,1,time_period_01,place-fenwy,388
+green,1,time_period_01,place-gover,1787
+green,1,time_period_01,place-grigg,1467
+green,1,time_period_01,place-haecl,1517
+green,1,time_period_01,place-harvd,2059
+green,1,time_period_01,place-hsmnl,569
+green,1,time_period_01,place-hwsst,72
+green,1,time_period_01,place-hymnl,1578
+green,1,time_period_01,place-kencl,4429
+green,1,time_period_01,place-kntst,207
+green,1,time_period_01,place-lake,295
+green,1,time_period_01,place-lech,0
+green,1,time_period_01,place-lngmd,266
+green,1,time_period_01,place-longw,200
+green,1,time_period_01,place-mfa,128
+green,1,time_period_01,place-mispk,360
+green,1,time_period_01,place-newtn,1171
+green,1,time_period_01,place-newto,1729
+green,1,time_period_01,place-north,235
+green,1,time_period_01,place-nuniv,247
+green,1,time_period_01,place-pktrm,5067
+green,1,time_period_01,place-plsgr,86
+green,1,time_period_01,place-prmnl,435
+green,1,time_period_01,place-river,917
+green,1,time_period_01,place-rsmnl,1631
+green,1,time_period_01,place-rvrwy,251
+green,1,time_period_01,place-smary,581
+green,1,time_period_01,place-sougr,235
+green,1,time_period_01,place-spmnl,4
+green,1,time_period_01,place-sthld,1343
+green,1,time_period_01,place-stpul,616
+green,1,time_period_01,place-sumav,640
+green,1,time_period_01,place-symcl,328
+green,1,time_period_01,place-tapst,924
+green,1,time_period_01,place-waban,579
+green,1,time_period_01,place-wascm,2326
+green,1,time_period_01,place-woodl,1275
+green,1,time_period_01,place-wrnst,1277
+green,1,time_period_02,place-alsgr,4593
+green,1,time_period_02,place-armnl,3688
+green,1,time_period_02,place-babck,998
+green,1,time_period_02,place-bckhl,480
+green,1,time_period_02,place-bcnfd,4505
+green,1,time_period_02,place-bcnwa,2921
+green,1,time_period_02,place-bland,136
+green,1,time_period_02,place-bndhl,1069
+green,1,time_period_02,place-boyls,2383
+green,1,time_period_02,place-brico,3264
+green,1,time_period_02,place-brkhl,3231
+green,1,time_period_02,place-brmnl,2119
+green,1,time_period_02,place-bucen,233
+green,1,time_period_02,place-buest,106
+green,1,time_period_02,place-buwst,295
+green,1,time_period_02,place-bvmnl,4564
+green,1,time_period_02,place-chhil,5186
+green,1,time_period_02,place-chill,1044
+green,1,time_period_02,place-chswk,2150
+green,1,time_period_02,place-clmnl,2108
+green,1,time_period_02,place-coecl,7295
+green,1,time_period_02,place-cool,5085
+green,1,time_period_02,place-denrd,1444
+green,1,time_period_02,place-eliot,4544
+green,1,time_period_02,place-engav,2555
+green,1,time_period_02,place-fbkst,1769
+green,1,time_period_02,place-fenwd,830
+green,1,time_period_02,place-fenwy,2509
+green,1,time_period_02,place-gover,6103
+green,1,time_period_02,place-grigg,4334
+green,1,time_period_02,place-haecl,4264
+green,1,time_period_02,place-harvd,5957
+green,1,time_period_02,place-hsmnl,2024
+green,1,time_period_02,place-hwsst,533
+green,1,time_period_02,place-hymnl,7081
+green,1,time_period_02,place-kencl,10341
+green,1,time_period_02,place-kntst,890
+green,1,time_period_02,place-lake,899
+green,1,time_period_02,place-lech,0
+green,1,time_period_02,place-lngmd,1942
+green,1,time_period_02,place-longw,1121
+green,1,time_period_02,place-mfa,916
+green,1,time_period_02,place-mispk,2410
+green,1,time_period_02,place-newtn,3752
+green,1,time_period_02,place-newto,4381
+green,1,time_period_02,place-north,1505
+green,1,time_period_02,place-nuniv,1643
+green,1,time_period_02,place-pktrm,22313
+green,1,time_period_02,place-plsgr,554
+green,1,time_period_02,place-prmnl,2001
+green,1,time_period_02,place-river,2834
+green,1,time_period_02,place-rsmnl,6350
+green,1,time_period_02,place-rvrwy,1219
+green,1,time_period_02,place-smary,1551
+green,1,time_period_02,place-sougr,1046
+green,1,time_period_02,place-spmnl,32
+green,1,time_period_02,place-sthld,3624
+green,1,time_period_02,place-stpul,2380
+green,1,time_period_02,place-sumav,2553
+green,1,time_period_02,place-symcl,2813
+green,1,time_period_02,place-tapst,2311
+green,1,time_period_02,place-waban,2423
+green,1,time_period_02,place-wascm,4968
+green,1,time_period_02,place-woodl,3591
+green,1,time_period_02,place-wrnst,3520
+green,1,time_period_03,place-alsgr,19486
+green,1,time_period_03,place-armnl,21535
+green,1,time_period_03,place-babck,7333
+green,1,time_period_03,place-bckhl,2338
+green,1,time_period_03,place-bcnfd,13062
+green,1,time_period_03,place-bcnwa,13543
+green,1,time_period_03,place-bland,843
+green,1,time_period_03,place-bndhl,7765
+green,1,time_period_03,place-boyls,13798
+green,1,time_period_03,place-brico,20311
+green,1,time_period_03,place-brkhl,12427
+green,1,time_period_03,place-brmnl,16803
+green,1,time_period_03,place-bucen,1198
+green,1,time_period_03,place-buest,844
+green,1,time_period_03,place-buwst,1338
+green,1,time_period_03,place-bvmnl,12646
+green,1,time_period_03,place-chhil,11550
+green,1,time_period_03,place-chill,5724
+green,1,time_period_03,place-chswk,11394
+green,1,time_period_03,place-clmnl,13082
+green,1,time_period_03,place-coecl,57042
+green,1,time_period_03,place-cool,21029
+green,1,time_period_03,place-denrd,10811
+green,1,time_period_03,place-eliot,13274
+green,1,time_period_03,place-engav,14297
+green,1,time_period_03,place-fbkst,10463
+green,1,time_period_03,place-fenwd,4432
+green,1,time_period_03,place-fenwy,9001
+green,1,time_period_03,place-gover,23043
+green,1,time_period_03,place-grigg,19761
+green,1,time_period_03,place-haecl,13679
+green,1,time_period_03,place-harvd,30149
+green,1,time_period_03,place-hsmnl,8964
+green,1,time_period_03,place-hwsst,2986
+green,1,time_period_03,place-hymnl,49083
+green,1,time_period_03,place-kencl,69121
+green,1,time_period_03,place-kntst,4388
+green,1,time_period_03,place-lake,5048
+green,1,time_period_03,place-lech,0
+green,1,time_period_03,place-lngmd,12068
+green,1,time_period_03,place-longw,4667
+green,1,time_period_03,place-mfa,7120
+green,1,time_period_03,place-mispk,12128
+green,1,time_period_03,place-newtn,13274
+green,1,time_period_03,place-newto,15273
+green,1,time_period_03,place-north,13936
+green,1,time_period_03,place-nuniv,13327
+green,1,time_period_03,place-pktrm,96449
+green,1,time_period_03,place-plsgr,3200
+green,1,time_period_03,place-prmnl,21482
+green,1,time_period_03,place-river,10140
+green,1,time_period_03,place-rsmnl,17627
+green,1,time_period_03,place-rvrwy,12583
+green,1,time_period_03,place-smary,6646
+green,1,time_period_03,place-sougr,5833
+green,1,time_period_03,place-spmnl,305
+green,1,time_period_03,place-sthld,16573
+green,1,time_period_03,place-stpul,9984
+green,1,time_period_03,place-sumav,12699
+green,1,time_period_03,place-symcl,21320
+green,1,time_period_03,place-tapst,11376
+green,1,time_period_03,place-waban,11756
+green,1,time_period_03,place-wascm,16924
+green,1,time_period_03,place-woodl,11798
+green,1,time_period_03,place-wrnst,19568
+green,1,time_period_04,place-alsgr,25309
+green,1,time_period_04,place-armnl,64718
+green,1,time_period_04,place-babck,21369
+green,1,time_period_04,place-bckhl,2584
+green,1,time_period_04,place-bcnfd,18413
+green,1,time_period_04,place-bcnwa,16622
+green,1,time_period_04,place-bland,6581
+green,1,time_period_04,place-bndhl,5683
+green,1,time_period_04,place-boyls,34700
+green,1,time_period_04,place-brico,38634
+green,1,time_period_04,place-brkhl,18943
+green,1,time_period_04,place-brmnl,30512
+green,1,time_period_04,place-bucen,9832
+green,1,time_period_04,place-buest,7674
+green,1,time_period_04,place-buwst,9542
+green,1,time_period_04,place-bvmnl,29461
+green,1,time_period_04,place-chhil,15300
+green,1,time_period_04,place-chill,6963
+green,1,time_period_04,place-chswk,13717
+green,1,time_period_04,place-clmnl,11699
+green,1,time_period_04,place-coecl,114036
+green,1,time_period_04,place-cool,39644
+green,1,time_period_04,place-denrd,7564
+green,1,time_period_04,place-eliot,10370
+green,1,time_period_04,place-engav,8625
+green,1,time_period_04,place-fbkst,9091
+green,1,time_period_04,place-fenwd,5777
+green,1,time_period_04,place-fenwy,25928
+green,1,time_period_04,place-gover,32259
+green,1,time_period_04,place-grigg,24734
+green,1,time_period_04,place-haecl,17707
+green,1,time_period_04,place-harvd,51543
+green,1,time_period_04,place-hsmnl,13100
+green,1,time_period_04,place-hwsst,5063
+green,1,time_period_04,place-hymnl,67701
+green,1,time_period_04,place-kencl,116493
+green,1,time_period_04,place-kntst,7213
+green,1,time_period_04,place-lake,7685
+green,1,time_period_04,place-lech,0
+green,1,time_period_04,place-lngmd,35040
+green,1,time_period_04,place-longw,15238
+green,1,time_period_04,place-mfa,18507
+green,1,time_period_04,place-mispk,15007
+green,1,time_period_04,place-newtn,17185
+green,1,time_period_04,place-newto,22300
+green,1,time_period_04,place-north,12867
+green,1,time_period_04,place-nuniv,20157
+green,1,time_period_04,place-pktrm,138847
+green,1,time_period_04,place-plsgr,11368
+green,1,time_period_04,place-prmnl,38233
+green,1,time_period_04,place-river,8421
+green,1,time_period_04,place-rsmnl,28564
+green,1,time_period_04,place-rvrwy,9084
+green,1,time_period_04,place-smary,13282
+green,1,time_period_04,place-sougr,4515
+green,1,time_period_04,place-spmnl,1092
+green,1,time_period_04,place-sthld,15178
+green,1,time_period_04,place-stpul,15009
+green,1,time_period_04,place-sumav,12799
+green,1,time_period_04,place-symcl,28539
+green,1,time_period_04,place-tapst,11057
+green,1,time_period_04,place-waban,7618
+green,1,time_period_04,place-wascm,28585
+green,1,time_period_04,place-woodl,12889
+green,1,time_period_04,place-wrnst,21896
+green,1,time_period_05,place-alsgr,9577
+green,1,time_period_05,place-armnl,75768
+green,1,time_period_05,place-babck,12542
+green,1,time_period_05,place-bckhl,1062
+green,1,time_period_05,place-bcnfd,5971
+green,1,time_period_05,place-bcnwa,7388
+green,1,time_period_05,place-bland,6175
+green,1,time_period_05,place-bndhl,1395
+green,1,time_period_05,place-boyls,37116
+green,1,time_period_05,place-brico,15671
+green,1,time_period_05,place-brkhl,11789
+green,1,time_period_05,place-brmnl,27391
+green,1,time_period_05,place-bucen,11415
+green,1,time_period_05,place-buest,8293
+green,1,time_period_05,place-buwst,8508
+green,1,time_period_05,place-bvmnl,15642
+green,1,time_period_05,place-chhil,13155
+green,1,time_period_05,place-chill,3859
+green,1,time_period_05,place-chswk,5134
+green,1,time_period_05,place-clmnl,6501
+green,1,time_period_05,place-coecl,121857
+green,1,time_period_05,place-cool,20773
+green,1,time_period_05,place-denrd,2862
+green,1,time_period_05,place-eliot,4154
+green,1,time_period_05,place-engav,3018
+green,1,time_period_05,place-fbkst,2582
+green,1,time_period_05,place-fenwd,3679
+green,1,time_period_05,place-fenwy,21248
+green,1,time_period_05,place-gover,22993
+green,1,time_period_05,place-grigg,7980
+green,1,time_period_05,place-haecl,10289
+green,1,time_period_05,place-harvd,23158
+green,1,time_period_05,place-hsmnl,7829
+green,1,time_period_05,place-hwsst,2368
+green,1,time_period_05,place-hymnl,57490
+green,1,time_period_05,place-kencl,97341
+green,1,time_period_05,place-kntst,3651
+green,1,time_period_05,place-lake,7022
+green,1,time_period_05,place-lech,0
+green,1,time_period_05,place-lngmd,22980
+green,1,time_period_05,place-longw,14266
+green,1,time_period_05,place-mfa,18693
+green,1,time_period_05,place-mispk,5533
+green,1,time_period_05,place-newtn,9584
+green,1,time_period_05,place-newto,13002
+green,1,time_period_05,place-north,4782
+green,1,time_period_05,place-nuniv,16755
+green,1,time_period_05,place-pktrm,122513
+green,1,time_period_05,place-plsgr,8389
+green,1,time_period_05,place-prmnl,38300
+green,1,time_period_05,place-river,5053
+green,1,time_period_05,place-rsmnl,15605
+green,1,time_period_05,place-rvrwy,3230
+green,1,time_period_05,place-smary,7560
+green,1,time_period_05,place-sougr,1920
+green,1,time_period_05,place-spmnl,1012
+green,1,time_period_05,place-sthld,5303
+green,1,time_period_05,place-stpul,4685
+green,1,time_period_05,place-sumav,4052
+green,1,time_period_05,place-symcl,19270
+green,1,time_period_05,place-tapst,4585
+green,1,time_period_05,place-waban,3651
+green,1,time_period_05,place-wascm,11442
+green,1,time_period_05,place-woodl,7236
+green,1,time_period_05,place-wrnst,14407
+green,1,time_period_06,place-alsgr,7941
+green,1,time_period_06,place-armnl,198672
+green,1,time_period_06,place-babck,17087
+green,1,time_period_06,place-bckhl,945
+green,1,time_period_06,place-bcnfd,6999
+green,1,time_period_06,place-bcnwa,8197
+green,1,time_period_06,place-bland,11154
+green,1,time_period_06,place-bndhl,1792
+green,1,time_period_06,place-boyls,64225
+green,1,time_period_06,place-brico,15007
+green,1,time_period_06,place-brkhl,12516
+green,1,time_period_06,place-brmnl,37492
+green,1,time_period_06,place-bucen,18481
+green,1,time_period_06,place-buest,12412
+green,1,time_period_06,place-buwst,12058
+green,1,time_period_06,place-bvmnl,22886
+green,1,time_period_06,place-chhil,19803
+green,1,time_period_06,place-chill,6351
+green,1,time_period_06,place-chswk,4307
+green,1,time_period_06,place-clmnl,8773
+green,1,time_period_06,place-coecl,229380
+green,1,time_period_06,place-cool,25096
+green,1,time_period_06,place-denrd,2642
+green,1,time_period_06,place-eliot,6689
+green,1,time_period_06,place-engav,3996
+green,1,time_period_06,place-fbkst,3799
+green,1,time_period_06,place-fenwd,4221
+green,1,time_period_06,place-fenwy,30152
+green,1,time_period_06,place-gover,41592
+green,1,time_period_06,place-grigg,7458
+green,1,time_period_06,place-haecl,16268
+green,1,time_period_06,place-harvd,20319
+green,1,time_period_06,place-hsmnl,7578
+green,1,time_period_06,place-hwsst,3061
+green,1,time_period_06,place-hymnl,97042
+green,1,time_period_06,place-kencl,157072
+green,1,time_period_06,place-kntst,5177
+green,1,time_period_06,place-lake,9633
+green,1,time_period_06,place-lech,0
+green,1,time_period_06,place-lngmd,26553
+green,1,time_period_06,place-longw,19214
+green,1,time_period_06,place-mfa,20030
+green,1,time_period_06,place-mispk,5572
+green,1,time_period_06,place-newtn,17516
+green,1,time_period_06,place-newto,19882
+green,1,time_period_06,place-north,11219
+green,1,time_period_06,place-nuniv,20429
+green,1,time_period_06,place-pktrm,187478
+green,1,time_period_06,place-plsgr,12015
+green,1,time_period_06,place-prmnl,71685
+green,1,time_period_06,place-river,8881
+green,1,time_period_06,place-rsmnl,18707
+green,1,time_period_06,place-rvrwy,3855
+green,1,time_period_06,place-smary,10602
+green,1,time_period_06,place-sougr,2498
+green,1,time_period_06,place-spmnl,2495
+green,1,time_period_06,place-sthld,5526
+green,1,time_period_06,place-stpul,7305
+green,1,time_period_06,place-sumav,5697
+green,1,time_period_06,place-symcl,25252
+green,1,time_period_06,place-tapst,4801
+green,1,time_period_06,place-waban,5373
+green,1,time_period_06,place-wascm,11289
+green,1,time_period_06,place-woodl,12098
+green,1,time_period_06,place-wrnst,8572
+green,1,time_period_07,place-alsgr,4979
+green,1,time_period_07,place-armnl,89365
+green,1,time_period_07,place-babck,8806
+green,1,time_period_07,place-bckhl,700
+green,1,time_period_07,place-bcnfd,4416
+green,1,time_period_07,place-bcnwa,6061
+green,1,time_period_07,place-bland,7194
+green,1,time_period_07,place-bndhl,1003
+green,1,time_period_07,place-boyls,51983
+green,1,time_period_07,place-brico,11514
+green,1,time_period_07,place-brkhl,6386
+green,1,time_period_07,place-brmnl,22077
+green,1,time_period_07,place-bucen,11802
+green,1,time_period_07,place-buest,8957
+green,1,time_period_07,place-buwst,7502
+green,1,time_period_07,place-bvmnl,12328
+green,1,time_period_07,place-chhil,10907
+green,1,time_period_07,place-chill,4336
+green,1,time_period_07,place-chswk,3322
+green,1,time_period_07,place-clmnl,5407
+green,1,time_period_07,place-coecl,161985
+green,1,time_period_07,place-cool,20344
+green,1,time_period_07,place-denrd,2000
+green,1,time_period_07,place-eliot,3380
+green,1,time_period_07,place-engav,2215
+green,1,time_period_07,place-fbkst,2090
+green,1,time_period_07,place-fenwd,2131
+green,1,time_period_07,place-fenwy,22290
+green,1,time_period_07,place-gover,21259
+green,1,time_period_07,place-grigg,4109
+green,1,time_period_07,place-haecl,9366
+green,1,time_period_07,place-harvd,17689
+green,1,time_period_07,place-hsmnl,2521
+green,1,time_period_07,place-hwsst,1751
+green,1,time_period_07,place-hymnl,81853
+green,1,time_period_07,place-kencl,103453
+green,1,time_period_07,place-kntst,2275
+green,1,time_period_07,place-lake,8222
+green,1,time_period_07,place-lech,0
+green,1,time_period_07,place-lngmd,27718
+green,1,time_period_07,place-longw,10334
+green,1,time_period_07,place-mfa,18171
+green,1,time_period_07,place-mispk,3119
+green,1,time_period_07,place-newtn,9235
+green,1,time_period_07,place-newto,12896
+green,1,time_period_07,place-north,6295
+green,1,time_period_07,place-nuniv,24794
+green,1,time_period_07,place-pktrm,135601
+green,1,time_period_07,place-plsgr,7849
+green,1,time_period_07,place-prmnl,48518
+green,1,time_period_07,place-river,3081
+green,1,time_period_07,place-rsmnl,11672
+green,1,time_period_07,place-rvrwy,2094
+green,1,time_period_07,place-smary,8379
+green,1,time_period_07,place-sougr,1422
+green,1,time_period_07,place-spmnl,960
+green,1,time_period_07,place-sthld,4004
+green,1,time_period_07,place-stpul,5196
+green,1,time_period_07,place-sumav,3721
+green,1,time_period_07,place-symcl,24035
+green,1,time_period_07,place-tapst,3992
+green,1,time_period_07,place-waban,2448
+green,1,time_period_07,place-wascm,7686
+green,1,time_period_07,place-woodl,5066
+green,1,time_period_07,place-wrnst,4413
+green,1,time_period_08,place-alsgr,985
+green,1,time_period_08,place-armnl,23889
+green,1,time_period_08,place-babck,3131
+green,1,time_period_08,place-bckhl,119
+green,1,time_period_08,place-bcnfd,643
+green,1,time_period_08,place-bcnwa,1608
+green,1,time_period_08,place-bland,857
+green,1,time_period_08,place-bndhl,94
+green,1,time_period_08,place-boyls,23418
+green,1,time_period_08,place-brico,3064
+green,1,time_period_08,place-brkhl,667
+green,1,time_period_08,place-brmnl,5732
+green,1,time_period_08,place-bucen,2365
+green,1,time_period_08,place-buest,1520
+green,1,time_period_08,place-buwst,1532
+green,1,time_period_08,place-bvmnl,2956
+green,1,time_period_08,place-chhil,4015
+green,1,time_period_08,place-chill,1414
+green,1,time_period_08,place-chswk,773
+green,1,time_period_08,place-clmnl,1166
+green,1,time_period_08,place-coecl,47628
+green,1,time_period_08,place-cool,5168
+green,1,time_period_08,place-denrd,339
+green,1,time_period_08,place-eliot,820
+green,1,time_period_08,place-engav,282
+green,1,time_period_08,place-fbkst,277
+green,1,time_period_08,place-fenwd,562
+green,1,time_period_08,place-fenwy,4534
+green,1,time_period_08,place-gover,4198
+green,1,time_period_08,place-grigg,861
+green,1,time_period_08,place-haecl,2006
+green,1,time_period_08,place-harvd,6142
+green,1,time_period_08,place-hsmnl,1035
+green,1,time_period_08,place-hwsst,150
+green,1,time_period_08,place-hymnl,29261
+green,1,time_period_08,place-kencl,55931
+green,1,time_period_08,place-kntst,311
+green,1,time_period_08,place-lake,1340
+green,1,time_period_08,place-lech,0
+green,1,time_period_08,place-lngmd,5802
+green,1,time_period_08,place-longw,2285
+green,1,time_period_08,place-mfa,3299
+green,1,time_period_08,place-mispk,586
+green,1,time_period_08,place-newtn,2215
+green,1,time_period_08,place-newto,3738
+green,1,time_period_08,place-north,3156
+green,1,time_period_08,place-nuniv,4369
+green,1,time_period_08,place-pktrm,67027
+green,1,time_period_08,place-plsgr,4867
+green,1,time_period_08,place-prmnl,12621
+green,1,time_period_08,place-river,575
+green,1,time_period_08,place-rsmnl,2415
+green,1,time_period_08,place-rvrwy,424
+green,1,time_period_08,place-smary,2731
+green,1,time_period_08,place-sougr,270
+green,1,time_period_08,place-spmnl,222
+green,1,time_period_08,place-sthld,796
+green,1,time_period_08,place-stpul,878
+green,1,time_period_08,place-sumav,682
+green,1,time_period_08,place-symcl,11007
+green,1,time_period_08,place-tapst,1244
+green,1,time_period_08,place-waban,277
+green,1,time_period_08,place-wascm,1840
+green,1,time_period_08,place-woodl,1497
+green,1,time_period_08,place-wrnst,1170
+green,1,time_period_09,place-alsgr,88
+green,1,time_period_09,place-armnl,4036
+green,1,time_period_09,place-babck,280
+green,1,time_period_09,place-bckhl,7
+green,1,time_period_09,place-bcnfd,36
+green,1,time_period_09,place-bcnwa,132
+green,1,time_period_09,place-bland,130
+green,1,time_period_09,place-bndhl,11
+green,1,time_period_09,place-boyls,4670
+green,1,time_period_09,place-brico,357
+green,1,time_period_09,place-brkhl,32
+green,1,time_period_09,place-brmnl,575
+green,1,time_period_09,place-bucen,315
+green,1,time_period_09,place-buest,215
+green,1,time_period_09,place-buwst,237
+green,1,time_period_09,place-bvmnl,162
+green,1,time_period_09,place-chhil,213
+green,1,time_period_09,place-chill,80
+green,1,time_period_09,place-chswk,68
+green,1,time_period_09,place-clmnl,49
+green,1,time_period_09,place-coecl,6545
+green,1,time_period_09,place-cool,319
+green,1,time_period_09,place-denrd,13
+green,1,time_period_09,place-eliot,27
+green,1,time_period_09,place-engav,15
+green,1,time_period_09,place-fbkst,40
+green,1,time_period_09,place-fenwd,133
+green,1,time_period_09,place-fenwy,685
+green,1,time_period_09,place-gover,849
+green,1,time_period_09,place-grigg,79
+green,1,time_period_09,place-haecl,369
+green,1,time_period_09,place-harvd,780
+green,1,time_period_09,place-hsmnl,44
+green,1,time_period_09,place-hwsst,12
+green,1,time_period_09,place-hymnl,4555
+green,1,time_period_09,place-kencl,6399
+green,1,time_period_09,place-kntst,5
+green,1,time_period_09,place-lake,86
+green,1,time_period_09,place-lech,0
+green,1,time_period_09,place-lngmd,573
+green,1,time_period_09,place-longw,100
+green,1,time_period_09,place-mfa,416
+green,1,time_period_09,place-mispk,82
+green,1,time_period_09,place-newtn,114
+green,1,time_period_09,place-newto,130
+green,1,time_period_09,place-north,299
+green,1,time_period_09,place-nuniv,758
+green,1,time_period_09,place-pktrm,13860
+green,1,time_period_09,place-plsgr,291
+green,1,time_period_09,place-prmnl,1823
+green,1,time_period_09,place-river,37
+green,1,time_period_09,place-rsmnl,153
+green,1,time_period_09,place-rvrwy,60
+green,1,time_period_09,place-smary,286
+green,1,time_period_09,place-sougr,31
+green,1,time_period_09,place-spmnl,22
+green,1,time_period_09,place-sthld,61
+green,1,time_period_09,place-stpul,51
+green,1,time_period_09,place-sumav,16
+green,1,time_period_09,place-symcl,1241
+green,1,time_period_09,place-tapst,60
+green,1,time_period_09,place-waban,10
+green,1,time_period_09,place-wascm,134
+green,1,time_period_09,place-woodl,23
+green,1,time_period_09,place-wrnst,146
+orange,0,time_period_01,place-astao,1445
+orange,0,time_period_01,place-bbsta,756
+orange,0,time_period_01,place-ccmnl,2379
+orange,0,time_period_01,place-chncl,549
+orange,0,time_period_01,place-dwnxg,5235
+orange,0,time_period_01,place-forhl,0
+orange,0,time_period_01,place-grnst,97
+orange,0,time_period_01,place-haecl,6607
+orange,0,time_period_01,place-jaksn,690
+orange,0,time_period_01,place-masta,478
+orange,0,time_period_01,place-mlmnl,32962
+orange,0,time_period_01,place-north,955
+orange,0,time_period_01,place-ogmnl,8225
+orange,0,time_period_01,place-rcmnl,237
+orange,0,time_period_01,place-rugg,364
+orange,0,time_period_01,place-sbmnl,241
+orange,0,time_period_01,place-state,15133
+orange,0,time_period_01,place-sull,29068
+orange,0,time_period_01,place-tumnl,725
+orange,0,time_period_01,place-welln,16595
+orange,0,time_period_02,place-astao,4793
+orange,0,time_period_02,place-bbsta,6766
+orange,0,time_period_02,place-ccmnl,10519
+orange,0,time_period_02,place-chncl,2073
+orange,0,time_period_02,place-dwnxg,29584
+orange,0,time_period_02,place-forhl,0
+orange,0,time_period_02,place-grnst,626
+orange,0,time_period_02,place-haecl,20002
+orange,0,time_period_02,place-jaksn,4688
+orange,0,time_period_02,place-masta,3852
+orange,0,time_period_02,place-mlmnl,84361
+orange,0,time_period_02,place-north,25098
+orange,0,time_period_02,place-ogmnl,90419
+orange,0,time_period_02,place-rcmnl,2168
+orange,0,time_period_02,place-rugg,6108
+orange,0,time_period_02,place-sbmnl,1228
+orange,0,time_period_02,place-state,74225
+orange,0,time_period_02,place-sull,49864
+orange,0,time_period_02,place-tumnl,3618
+orange,0,time_period_02,place-welln,53137
+orange,0,time_period_03,place-astao,35801
+orange,0,time_period_03,place-bbsta,27367
+orange,0,time_period_03,place-ccmnl,43744
+orange,0,time_period_03,place-chncl,8785
+orange,0,time_period_03,place-dwnxg,147056
+orange,0,time_period_03,place-forhl,0
+orange,0,time_period_03,place-grnst,1997
+orange,0,time_period_03,place-haecl,50443
+orange,0,time_period_03,place-jaksn,12305
+orange,0,time_period_03,place-masta,12226
+orange,0,time_period_03,place-mlmnl,368627
+orange,0,time_period_03,place-north,157674
+orange,0,time_period_03,place-ogmnl,257299
+orange,0,time_period_03,place-rcmnl,7798
+orange,0,time_period_03,place-rugg,12985
+orange,0,time_period_03,place-sbmnl,3292
+orange,0,time_period_03,place-state,174121
+orange,0,time_period_03,place-sull,164287
+orange,0,time_period_03,place-tumnl,13580
+orange,0,time_period_03,place-welln,217202
+orange,0,time_period_04,place-astao,40497
+orange,0,time_period_04,place-bbsta,49540
+orange,0,time_period_04,place-ccmnl,92006
+orange,0,time_period_04,place-chncl,30388
+orange,0,time_period_04,place-dwnxg,210279
+orange,0,time_period_04,place-forhl,0
+orange,0,time_period_04,place-grnst,3648
+orange,0,time_period_04,place-haecl,82494
+orange,0,time_period_04,place-jaksn,11576
+orange,0,time_period_04,place-masta,24096
+orange,0,time_period_04,place-mlmnl,293410
+orange,0,time_period_04,place-north,101480
+orange,0,time_period_04,place-ogmnl,112082
+orange,0,time_period_04,place-rcmnl,16394
+orange,0,time_period_04,place-rugg,23138
+orange,0,time_period_04,place-sbmnl,3488
+orange,0,time_period_04,place-state,162634
+orange,0,time_period_04,place-sull,154145
+orange,0,time_period_04,place-tumnl,28233
+orange,0,time_period_04,place-welln,147265
+orange,0,time_period_05,place-astao,38657
+orange,0,time_period_05,place-bbsta,65915
+orange,0,time_period_05,place-ccmnl,74692
+orange,0,time_period_05,place-chncl,27269
+orange,0,time_period_05,place-dwnxg,185377
+orange,0,time_period_05,place-forhl,0
+orange,0,time_period_05,place-grnst,4753
+orange,0,time_period_05,place-haecl,67631
+orange,0,time_period_05,place-jaksn,10347
+orange,0,time_period_05,place-masta,27824
+orange,0,time_period_05,place-mlmnl,100967
+orange,0,time_period_05,place-north,59930
+orange,0,time_period_05,place-ogmnl,34518
+orange,0,time_period_05,place-rcmnl,33867
+orange,0,time_period_05,place-rugg,43079
+orange,0,time_period_05,place-sbmnl,3114
+orange,0,time_period_05,place-state,130717
+orange,0,time_period_05,place-sull,88521
+orange,0,time_period_05,place-tumnl,33039
+orange,0,time_period_05,place-welln,49629
+orange,0,time_period_06,place-astao,74790
+orange,0,time_period_06,place-bbsta,127288
+orange,0,time_period_06,place-ccmnl,70353
+orange,0,time_period_06,place-chncl,46475
+orange,0,time_period_06,place-dwnxg,327285
+orange,0,time_period_06,place-forhl,0
+orange,0,time_period_06,place-grnst,5212
+orange,0,time_period_06,place-haecl,104267
+orange,0,time_period_06,place-jaksn,13196
+orange,0,time_period_06,place-masta,56059
+orange,0,time_period_06,place-mlmnl,83705
+orange,0,time_period_06,place-north,135895
+orange,0,time_period_06,place-ogmnl,39066
+orange,0,time_period_06,place-rcmnl,32868
+orange,0,time_period_06,place-rugg,72146
+orange,0,time_period_06,place-sbmnl,4034
+orange,0,time_period_06,place-state,235841
+orange,0,time_period_06,place-sull,105386
+orange,0,time_period_06,place-tumnl,58933
+orange,0,time_period_06,place-welln,65643
+orange,0,time_period_07,place-astao,28853
+orange,0,time_period_07,place-bbsta,84071
+orange,0,time_period_07,place-ccmnl,45073
+orange,0,time_period_07,place-chncl,37266
+orange,0,time_period_07,place-dwnxg,200283
+orange,0,time_period_07,place-forhl,0
+orange,0,time_period_07,place-grnst,1691
+orange,0,time_period_07,place-haecl,54172
+orange,0,time_period_07,place-jaksn,8557
+orange,0,time_period_07,place-masta,38894
+orange,0,time_period_07,place-mlmnl,45088
+orange,0,time_period_07,place-north,57070
+orange,0,time_period_07,place-ogmnl,19887
+orange,0,time_period_07,place-rcmnl,16248
+orange,0,time_period_07,place-rugg,37483
+orange,0,time_period_07,place-sbmnl,2745
+orange,0,time_period_07,place-state,98434
+orange,0,time_period_07,place-sull,47354
+orange,0,time_period_07,place-tumnl,27493
+orange,0,time_period_07,place-welln,28314
+orange,0,time_period_08,place-astao,7158
+orange,0,time_period_08,place-bbsta,24319
+orange,0,time_period_08,place-ccmnl,7115
+orange,0,time_period_08,place-chncl,12320
+orange,0,time_period_08,place-dwnxg,51961
+orange,0,time_period_08,place-forhl,0
+orange,0,time_period_08,place-grnst,380
+orange,0,time_period_08,place-haecl,15854
+orange,0,time_period_08,place-jaksn,1858
+orange,0,time_period_08,place-masta,15954
+orange,0,time_period_08,place-mlmnl,9966
+orange,0,time_period_08,place-north,39133
+orange,0,time_period_08,place-ogmnl,2981
+orange,0,time_period_08,place-rcmnl,2761
+orange,0,time_period_08,place-rugg,8498
+orange,0,time_period_08,place-sbmnl,521
+orange,0,time_period_08,place-state,26822
+orange,0,time_period_08,place-sull,11666
+orange,0,time_period_08,place-tumnl,8395
+orange,0,time_period_08,place-welln,6369
+orange,0,time_period_09,place-astao,957
+orange,0,time_period_09,place-bbsta,4109
+orange,0,time_period_09,place-ccmnl,558
+orange,0,time_period_09,place-chncl,1933
+orange,0,time_period_09,place-dwnxg,6403
+orange,0,time_period_09,place-forhl,0
+orange,0,time_period_09,place-grnst,21
+orange,0,time_period_09,place-haecl,1875
+orange,0,time_period_09,place-jaksn,266
+orange,0,time_period_09,place-masta,2991
+orange,0,time_period_09,place-mlmnl,1139
+orange,0,time_period_09,place-north,2709
+orange,0,time_period_09,place-ogmnl,291
+orange,0,time_period_09,place-rcmnl,444
+orange,0,time_period_09,place-rugg,1615
+orange,0,time_period_09,place-sbmnl,100
+orange,0,time_period_09,place-state,4710
+orange,0,time_period_09,place-sull,1705
+orange,0,time_period_09,place-tumnl,1565
+orange,0,time_period_09,place-welln,763
+orange,1,time_period_01,place-astao,54
+orange,1,time_period_01,place-bbsta,1891
+orange,1,time_period_01,place-ccmnl,140
+orange,1,time_period_01,place-chncl,1071
+orange,1,time_period_01,place-dwnxg,10130
+orange,1,time_period_01,place-forhl,0
+orange,1,time_period_01,place-grnst,2991
+orange,1,time_period_01,place-haecl,4353
+orange,1,time_period_01,place-jaksn,12795
+orange,1,time_period_01,place-masta,2608
+orange,1,time_period_01,place-mlmnl,38
+orange,1,time_period_01,place-north,856
+orange,1,time_period_01,place-ogmnl,0
+orange,1,time_period_01,place-rcmnl,3449
+orange,1,time_period_01,place-rugg,9535
+orange,1,time_period_01,place-sbmnl,5099
+orange,1,time_period_01,place-state,9042
+orange,1,time_period_01,place-sull,2073
+orange,1,time_period_01,place-tumnl,2043
+orange,1,time_period_01,place-welln,259
+orange,1,time_period_02,place-astao,205
+orange,1,time_period_02,place-bbsta,25947
+orange,1,time_period_02,place-ccmnl,469
+orange,1,time_period_02,place-chncl,3511
+orange,1,time_period_02,place-dwnxg,40332
+orange,1,time_period_02,place-forhl,152520
+orange,1,time_period_02,place-grnst,16086
+orange,1,time_period_02,place-haecl,8333
+orange,1,time_period_02,place-jaksn,32250
+orange,1,time_period_02,place-masta,10175
+orange,1,time_period_02,place-mlmnl,195
+orange,1,time_period_02,place-north,5638
+orange,1,time_period_02,place-ogmnl,0
+orange,1,time_period_02,place-rcmnl,9415
+orange,1,time_period_02,place-rugg,24178
+orange,1,time_period_02,place-sbmnl,15963
+orange,1,time_period_02,place-state,25579
+orange,1,time_period_02,place-sull,4443
+orange,1,time_period_02,place-tumnl,6220
+orange,1,time_period_02,place-welln,1047
+orange,1,time_period_03,place-astao,884
+orange,1,time_period_03,place-bbsta,140544
+orange,1,time_period_03,place-ccmnl,4070
+orange,1,time_period_03,place-chncl,14675
+orange,1,time_period_03,place-dwnxg,153645
+orange,1,time_period_03,place-forhl,372413
+orange,1,time_period_03,place-grnst,99275
+orange,1,time_period_03,place-haecl,19154
+orange,1,time_period_03,place-jaksn,118228
+orange,1,time_period_03,place-masta,64542
+orange,1,time_period_03,place-mlmnl,1302
+orange,1,time_period_03,place-north,30117
+orange,1,time_period_03,place-ogmnl,0
+orange,1,time_period_03,place-rcmnl,64797
+orange,1,time_period_03,place-rugg,77553
+orange,1,time_period_03,place-sbmnl,110957
+orange,1,time_period_03,place-state,56841
+orange,1,time_period_03,place-sull,13818
+orange,1,time_period_03,place-tumnl,25026
+orange,1,time_period_03,place-welln,1954
+orange,1,time_period_04,place-astao,4171
+orange,1,time_period_04,place-bbsta,122468
+orange,1,time_period_04,place-ccmnl,21018
+orange,1,time_period_04,place-chncl,60527
+orange,1,time_period_04,place-dwnxg,224419
+orange,1,time_period_04,place-forhl,268167
+orange,1,time_period_04,place-grnst,70269
+orange,1,time_period_04,place-haecl,44829
+orange,1,time_period_04,place-jaksn,110088
+orange,1,time_period_04,place-masta,71623
+orange,1,time_period_04,place-mlmnl,1787
+orange,1,time_period_04,place-north,43035
+orange,1,time_period_04,place-ogmnl,0
+orange,1,time_period_04,place-rcmnl,65883
+orange,1,time_period_04,place-rugg,109764
+orange,1,time_period_04,place-sbmnl,76297
+orange,1,time_period_04,place-state,74954
+orange,1,time_period_04,place-sull,15537
+orange,1,time_period_04,place-tumnl,59715
+orange,1,time_period_04,place-welln,3986
+orange,1,time_period_05,place-astao,7387
+orange,1,time_period_05,place-bbsta,111501
+orange,1,time_period_05,place-ccmnl,18544
+orange,1,time_period_05,place-chncl,65067
+orange,1,time_period_05,place-dwnxg,231849
+orange,1,time_period_05,place-forhl,134593
+orange,1,time_period_05,place-grnst,29334
+orange,1,time_period_05,place-haecl,53656
+orange,1,time_period_05,place-jaksn,51848
+orange,1,time_period_05,place-masta,47314
+orange,1,time_period_05,place-mlmnl,1700
+orange,1,time_period_05,place-north,58135
+orange,1,time_period_05,place-ogmnl,0
+orange,1,time_period_05,place-rcmnl,63935
+orange,1,time_period_05,place-rugg,120476
+orange,1,time_period_05,place-sbmnl,25704
+orange,1,time_period_05,place-state,90370
+orange,1,time_period_05,place-sull,13655
+orange,1,time_period_05,place-tumnl,67528
+orange,1,time_period_05,place-welln,3201
+orange,1,time_period_06,place-astao,16932
+orange,1,time_period_06,place-bbsta,317744
+orange,1,time_period_06,place-ccmnl,34846
+orange,1,time_period_06,place-chncl,97400
+orange,1,time_period_06,place-dwnxg,464306
+orange,1,time_period_06,place-forhl,125039
+orange,1,time_period_06,place-grnst,31606
+orange,1,time_period_06,place-haecl,102520
+orange,1,time_period_06,place-jaksn,56564
+orange,1,time_period_06,place-masta,74580
+orange,1,time_period_06,place-mlmnl,2554
+orange,1,time_period_06,place-north,135489
+orange,1,time_period_06,place-ogmnl,0
+orange,1,time_period_06,place-rcmnl,46448
+orange,1,time_period_06,place-rugg,184228
+orange,1,time_period_06,place-sbmnl,30814
+orange,1,time_period_06,place-state,208606
+orange,1,time_period_06,place-sull,25273
+orange,1,time_period_06,place-tumnl,119274
+orange,1,time_period_06,place-welln,6210
+orange,1,time_period_07,place-astao,9116
+orange,1,time_period_07,place-bbsta,140270
+orange,1,time_period_07,place-ccmnl,20999
+orange,1,time_period_07,place-chncl,69410
+orange,1,time_period_07,place-dwnxg,234479
+orange,1,time_period_07,place-forhl,62758
+orange,1,time_period_07,place-grnst,15728
+orange,1,time_period_07,place-haecl,66150
+orange,1,time_period_07,place-jaksn,26938
+orange,1,time_period_07,place-masta,39360
+orange,1,time_period_07,place-mlmnl,2401
+orange,1,time_period_07,place-north,86192
+orange,1,time_period_07,place-ogmnl,0
+orange,1,time_period_07,place-rcmnl,22090
+orange,1,time_period_07,place-rugg,93208
+orange,1,time_period_07,place-sbmnl,15936
+orange,1,time_period_07,place-state,82432
+orange,1,time_period_07,place-sull,14801
+orange,1,time_period_07,place-tumnl,45758
+orange,1,time_period_07,place-welln,4273
+orange,1,time_period_08,place-astao,2272
+orange,1,time_period_08,place-bbsta,38187
+orange,1,time_period_08,place-ccmnl,2896
+orange,1,time_period_08,place-chncl,26996
+orange,1,time_period_08,place-dwnxg,68857
+orange,1,time_period_08,place-forhl,18747
+orange,1,time_period_08,place-grnst,3654
+orange,1,time_period_08,place-haecl,26604
+orange,1,time_period_08,place-jaksn,6341
+orange,1,time_period_08,place-masta,14407
+orange,1,time_period_08,place-mlmnl,817
+orange,1,time_period_08,place-north,49245
+orange,1,time_period_08,place-ogmnl,0
+orange,1,time_period_08,place-rcmnl,4545
+orange,1,time_period_08,place-rugg,16605
+orange,1,time_period_08,place-sbmnl,2826
+orange,1,time_period_08,place-state,21818
+orange,1,time_period_08,place-sull,4419
+orange,1,time_period_08,place-tumnl,14808
+orange,1,time_period_08,place-welln,1144
+orange,1,time_period_09,place-astao,332
+orange,1,time_period_09,place-bbsta,5892
+orange,1,time_period_09,place-ccmnl,322
+orange,1,time_period_09,place-chncl,3597
+orange,1,time_period_09,place-dwnxg,10145
+orange,1,time_period_09,place-forhl,2134
+orange,1,time_period_09,place-grnst,388
+orange,1,time_period_09,place-haecl,4123
+orange,1,time_period_09,place-jaksn,835
+orange,1,time_period_09,place-masta,2047
+orange,1,time_period_09,place-mlmnl,55
+orange,1,time_period_09,place-north,4983
+orange,1,time_period_09,place-ogmnl,0
+orange,1,time_period_09,place-rcmnl,567
+orange,1,time_period_09,place-rugg,1973
+orange,1,time_period_09,place-sbmnl,582
+orange,1,time_period_09,place-state,4123
+orange,1,time_period_09,place-sull,1040
+orange,1,time_period_09,place-tumnl,2687
+orange,1,time_period_09,place-welln,245
+red,0,time_period_01,place-alfcl,8270
+red,0,time_period_01,place-andrw,2598
+red,0,time_period_01,place-asmnl,0
+red,0,time_period_01,place-brdwy,1415
+red,0,time_period_01,place-brntn,0
+red,0,time_period_01,place-chmnl,848
+red,0,time_period_01,place-cntsq,7387
+red,0,time_period_01,place-davis,10814
+red,0,time_period_01,place-dwnxg,12662
+red,0,time_period_01,place-fldcr,627
+red,0,time_period_01,place-harsq,10034
+red,0,time_period_01,place-jfk,1670
+red,0,time_period_01,place-knncl,1512
+red,0,time_period_01,place-nqncy,9
+red,0,time_period_01,place-pktrm,11852
+red,0,time_period_01,place-portr,6302
+red,0,time_period_01,place-qamnl,0
+red,0,time_period_01,place-qnctr,0
+red,0,time_period_01,place-shmnl,166
+red,0,time_period_01,place-smmnl,170
+red,0,time_period_01,place-sstat,1563
+red,0,time_period_01,place-wlsta,4
+red,0,time_period_02,place-alfcl,77598
+red,0,time_period_02,place-andrw,8167
+red,0,time_period_02,place-asmnl,0
+red,0,time_period_02,place-brdwy,4584
+red,0,time_period_02,place-brntn,0
+red,0,time_period_02,place-chmnl,3632
+red,0,time_period_02,place-cntsq,24952
+red,0,time_period_02,place-davis,43809
+red,0,time_period_02,place-dwnxg,42037
+red,0,time_period_02,place-fldcr,2983
+red,0,time_period_02,place-harsq,33772
+red,0,time_period_02,place-jfk,6827
+red,0,time_period_02,place-knncl,6513
+red,0,time_period_02,place-nqncy,2526
+red,0,time_period_02,place-pktrm,30063
+red,0,time_period_02,place-portr,27046
+red,0,time_period_02,place-qamnl,122
+red,0,time_period_02,place-qnctr,1509
+red,0,time_period_02,place-shmnl,1057
+red,0,time_period_02,place-smmnl,347
+red,0,time_period_02,place-sstat,8262
+red,0,time_period_02,place-wlsta,1801
+red,0,time_period_03,place-alfcl,382728
+red,0,time_period_03,place-andrw,19202
+red,0,time_period_03,place-asmnl,0
+red,0,time_period_03,place-brdwy,15978
+red,0,time_period_03,place-brntn,0
+red,0,time_period_03,place-chmnl,34611
+red,0,time_period_03,place-cntsq,210465
+red,0,time_period_03,place-davis,388406
+red,0,time_period_03,place-dwnxg,186271
+red,0,time_period_03,place-fldcr,11218
+red,0,time_period_03,place-harsq,220528
+red,0,time_period_03,place-jfk,23171
+red,0,time_period_03,place-knncl,58931
+red,0,time_period_03,place-nqncy,7251
+red,0,time_period_03,place-pktrm,128689
+red,0,time_period_03,place-portr,257293
+red,0,time_period_03,place-qamnl,550
+red,0,time_period_03,place-qnctr,5502
+red,0,time_period_03,place-shmnl,2923
+red,0,time_period_03,place-smmnl,1234
+red,0,time_period_03,place-sstat,49104
+red,0,time_period_03,place-wlsta,5783
+red,0,time_period_04,place-alfcl,205413
+red,0,time_period_04,place-andrw,28783
+red,0,time_period_04,place-asmnl,0
+red,0,time_period_04,place-brdwy,18781
+red,0,time_period_04,place-brntn,0
+red,0,time_period_04,place-chmnl,67711
+red,0,time_period_04,place-cntsq,207775
+red,0,time_period_04,place-davis,241781
+red,0,time_period_04,place-dwnxg,247878
+red,0,time_period_04,place-fldcr,10970
+red,0,time_period_04,place-harsq,278377
+red,0,time_period_04,place-jfk,48758
+red,0,time_period_04,place-knncl,95688
+red,0,time_period_04,place-nqncy,12084
+red,0,time_period_04,place-pktrm,199844
+red,0,time_period_04,place-portr,162710
+red,0,time_period_04,place-qamnl,426
+red,0,time_period_04,place-qnctr,5890
+red,0,time_period_04,place-shmnl,3031
+red,0,time_period_04,place-smmnl,970
+red,0,time_period_04,place-sstat,83154
+red,0,time_period_04,place-wlsta,9252
+red,0,time_period_05,place-alfcl,65603
+red,0,time_period_05,place-andrw,36468
+red,0,time_period_05,place-asmnl,0
+red,0,time_period_05,place-brdwy,28316
+red,0,time_period_05,place-brntn,0
+red,0,time_period_05,place-chmnl,104850
+red,0,time_period_05,place-cntsq,105742
+red,0,time_period_05,place-davis,71632
+red,0,time_period_05,place-dwnxg,220177
+red,0,time_period_05,place-fldcr,14854
+red,0,time_period_05,place-harsq,208944
+red,0,time_period_05,place-jfk,59326
+red,0,time_period_05,place-knncl,139808
+red,0,time_period_05,place-nqncy,13219
+red,0,time_period_05,place-pktrm,220309
+red,0,time_period_05,place-portr,50146
+red,0,time_period_05,place-qamnl,544
+red,0,time_period_05,place-qnctr,3219
+red,0,time_period_05,place-shmnl,5135
+red,0,time_period_05,place-smmnl,1159
+red,0,time_period_05,place-sstat,119121
+red,0,time_period_05,place-wlsta,5236
+red,0,time_period_06,place-alfcl,154498
+red,0,time_period_06,place-andrw,48884
+red,0,time_period_06,place-asmnl,0
+red,0,time_period_06,place-brdwy,59124
+red,0,time_period_06,place-brntn,0
+red,0,time_period_06,place-chmnl,187384
+red,0,time_period_06,place-cntsq,174255
+red,0,time_period_06,place-davis,100838
+red,0,time_period_06,place-dwnxg,452105
+red,0,time_period_06,place-fldcr,15414
+red,0,time_period_06,place-harsq,309278
+red,0,time_period_06,place-jfk,78749
+red,0,time_period_06,place-knncl,362420
+red,0,time_period_06,place-nqncy,22290
+red,0,time_period_06,place-pktrm,485837
+red,0,time_period_06,place-portr,63940
+red,0,time_period_06,place-qamnl,1094
+red,0,time_period_06,place-qnctr,3856
+red,0,time_period_06,place-shmnl,5561
+red,0,time_period_06,place-smmnl,2552
+red,0,time_period_06,place-sstat,384603
+red,0,time_period_06,place-wlsta,5384
+red,0,time_period_07,place-alfcl,63146
+red,0,time_period_07,place-andrw,22660
+red,0,time_period_07,place-asmnl,0
+red,0,time_period_07,place-brdwy,34179
+red,0,time_period_07,place-brntn,0
+red,0,time_period_07,place-chmnl,78902
+red,0,time_period_07,place-cntsq,111736
+red,0,time_period_07,place-davis,76115
+red,0,time_period_07,place-dwnxg,240004
+red,0,time_period_07,place-fldcr,7607
+red,0,time_period_07,place-harsq,186363
+red,0,time_period_07,place-jfk,44413
+red,0,time_period_07,place-knncl,124270
+red,0,time_period_07,place-nqncy,8520
+red,0,time_period_07,place-pktrm,288033
+red,0,time_period_07,place-portr,54453
+red,0,time_period_07,place-qamnl,544
+red,0,time_period_07,place-qnctr,2618
+red,0,time_period_07,place-shmnl,2537
+red,0,time_period_07,place-smmnl,617
+red,0,time_period_07,place-sstat,162889
+red,0,time_period_07,place-wlsta,3593
+red,0,time_period_08,place-alfcl,12651
+red,0,time_period_08,place-andrw,7062
+red,0,time_period_08,place-asmnl,0
+red,0,time_period_08,place-brdwy,7353
+red,0,time_period_08,place-brntn,0
+red,0,time_period_08,place-chmnl,24151
+red,0,time_period_08,place-cntsq,37287
+red,0,time_period_08,place-davis,23046
+red,0,time_period_08,place-dwnxg,52227
+red,0,time_period_08,place-fldcr,1474
+red,0,time_period_08,place-harsq,59372
+red,0,time_period_08,place-jfk,6789
+red,0,time_period_08,place-knncl,26641
+red,0,time_period_08,place-nqncy,1698
+red,0,time_period_08,place-pktrm,99012
+red,0,time_period_08,place-portr,14819
+red,0,time_period_08,place-qamnl,98
+red,0,time_period_08,place-qnctr,198
+red,0,time_period_08,place-shmnl,496
+red,0,time_period_08,place-smmnl,146
+red,0,time_period_08,place-sstat,35845
+red,0,time_period_08,place-wlsta,779
+red,0,time_period_09,place-alfcl,920
+red,0,time_period_09,place-andrw,1173
+red,0,time_period_09,place-asmnl,0
+red,0,time_period_09,place-brdwy,1282
+red,0,time_period_09,place-brntn,0
+red,0,time_period_09,place-chmnl,1868
+red,0,time_period_09,place-cntsq,5228
+red,0,time_period_09,place-davis,2677
+red,0,time_period_09,place-dwnxg,8042
+red,0,time_period_09,place-fldcr,306
+red,0,time_period_09,place-harsq,6972
+red,0,time_period_09,place-jfk,1162
+red,0,time_period_09,place-knncl,3842
+red,0,time_period_09,place-nqncy,329
+red,0,time_period_09,place-pktrm,14981
+red,0,time_period_09,place-portr,1179
+red,0,time_period_09,place-qamnl,1
+red,0,time_period_09,place-qnctr,42
+red,0,time_period_09,place-shmnl,94
+red,0,time_period_09,place-smmnl,22
+red,0,time_period_09,place-sstat,5963
+red,0,time_period_09,place-wlsta,72
+red,1,time_period_01,place-alfcl,0
+red,1,time_period_01,place-andrw,13929
+red,1,time_period_01,place-asmnl,895
+red,1,time_period_01,place-brdwy,4911
+red,1,time_period_01,place-brntn,1062
+red,1,time_period_01,place-chmnl,814
+red,1,time_period_01,place-cntsq,1342
+red,1,time_period_01,place-davis,766
+red,1,time_period_01,place-dwnxg,13986
+red,1,time_period_01,place-fldcr,18432
+red,1,time_period_01,place-harsq,822
+red,1,time_period_01,place-jfk,7611
+red,1,time_period_01,place-knncl,350
+red,1,time_period_01,place-nqncy,14891
+red,1,time_period_01,place-pktrm,13215
+red,1,time_period_01,place-portr,419
+red,1,time_period_01,place-qamnl,18314
+red,1,time_period_01,place-qnctr,18943
+red,1,time_period_01,place-shmnl,7342
+red,1,time_period_01,place-smmnl,10470
+red,1,time_period_01,place-sstat,3778
+red,1,time_period_01,place-wlsta,17749
+red,1,time_period_02,place-alfcl,0
+red,1,time_period_02,place-andrw,33279
+red,1,time_period_02,place-asmnl,113034
+red,1,time_period_02,place-brdwy,18487
+red,1,time_period_02,place-brntn,108030
+red,1,time_period_02,place-chmnl,5125
+red,1,time_period_02,place-cntsq,4108
+red,1,time_period_02,place-davis,3137
+red,1,time_period_02,place-dwnxg,56379
+red,1,time_period_02,place-fldcr,42898
+red,1,time_period_02,place-harsq,3738
+red,1,time_period_02,place-jfk,21446
+red,1,time_period_02,place-knncl,1409
+red,1,time_period_02,place-nqncy,41809
+red,1,time_period_02,place-pktrm,37401
+red,1,time_period_02,place-portr,1456
+red,1,time_period_02,place-qamnl,42280
+red,1,time_period_02,place-qnctr,66625
+red,1,time_period_02,place-shmnl,15226
+red,1,time_period_02,place-smmnl,26492
+red,1,time_period_02,place-sstat,60052
+red,1,time_period_02,place-wlsta,32373
+red,1,time_period_03,place-alfcl,0
+red,1,time_period_03,place-andrw,108239
+red,1,time_period_03,place-asmnl,257146
+red,1,time_period_03,place-brdwy,109984
+red,1,time_period_03,place-brntn,131342
+red,1,time_period_03,place-chmnl,56295
+red,1,time_period_03,place-cntsq,29767
+red,1,time_period_03,place-davis,13403
+red,1,time_period_03,place-dwnxg,195194
+red,1,time_period_03,place-fldcr,103424
+red,1,time_period_03,place-harsq,18538
+red,1,time_period_03,place-jfk,101809
+red,1,time_period_03,place-knncl,14251
+red,1,time_period_03,place-nqncy,178310
+red,1,time_period_03,place-pktrm,151870
+red,1,time_period_03,place-portr,9726
+red,1,time_period_03,place-qamnl,180785
+red,1,time_period_03,place-qnctr,246223
+red,1,time_period_03,place-shmnl,65198
+red,1,time_period_03,place-smmnl,70623
+red,1,time_period_03,place-sstat,286214
+red,1,time_period_03,place-wlsta,130786
+red,1,time_period_04,place-alfcl,0
+red,1,time_period_04,place-andrw,88856
+red,1,time_period_04,place-asmnl,166240
+red,1,time_period_04,place-brdwy,61918
+red,1,time_period_04,place-brntn,53115
+red,1,time_period_04,place-chmnl,69209
+red,1,time_period_04,place-cntsq,54068
+red,1,time_period_04,place-davis,9075
+red,1,time_period_04,place-dwnxg,238415
+red,1,time_period_04,place-fldcr,90544
+red,1,time_period_04,place-harsq,40905
+red,1,time_period_04,place-jfk,138904
+red,1,time_period_04,place-knncl,56535
+red,1,time_period_04,place-nqncy,122003
+red,1,time_period_04,place-pktrm,223553
+red,1,time_period_04,place-portr,8775
+red,1,time_period_04,place-qamnl,87082
+red,1,time_period_04,place-qnctr,173360
+red,1,time_period_04,place-shmnl,44904
+red,1,time_period_04,place-smmnl,47238
+red,1,time_period_04,place-sstat,215142
+red,1,time_period_04,place-wlsta,79652
+red,1,time_period_05,place-alfcl,0
+red,1,time_period_05,place-andrw,52214
+red,1,time_period_05,place-asmnl,88490
+red,1,time_period_05,place-brdwy,35835
+red,1,time_period_05,place-brntn,28378
+red,1,time_period_05,place-chmnl,50858
+red,1,time_period_05,place-cntsq,50566
+red,1,time_period_05,place-davis,3987
+red,1,time_period_05,place-dwnxg,163502
+red,1,time_period_05,place-fldcr,49275
+red,1,time_period_05,place-harsq,51568
+red,1,time_period_05,place-jfk,123384
+red,1,time_period_05,place-knncl,74711
+red,1,time_period_05,place-nqncy,37620
+red,1,time_period_05,place-pktrm,172211
+red,1,time_period_05,place-portr,5706
+red,1,time_period_05,place-qamnl,24987
+red,1,time_period_05,place-qnctr,65521
+red,1,time_period_05,place-shmnl,20038
+red,1,time_period_05,place-smmnl,18814
+red,1,time_period_05,place-sstat,154522
+red,1,time_period_05,place-wlsta,20234
+red,1,time_period_06,place-alfcl,0
+red,1,time_period_06,place-andrw,48384
+red,1,time_period_06,place-asmnl,76800
+red,1,time_period_06,place-brdwy,67555
+red,1,time_period_06,place-brntn,42602
+red,1,time_period_06,place-chmnl,120487
+red,1,time_period_06,place-cntsq,132852
+red,1,time_period_06,place-davis,6294
+red,1,time_period_06,place-dwnxg,361736
+red,1,time_period_06,place-fldcr,39194
+red,1,time_period_06,place-harsq,116791
+red,1,time_period_06,place-jfk,126926
+red,1,time_period_06,place-knncl,252347
+red,1,time_period_06,place-nqncy,67667
+red,1,time_period_06,place-pktrm,386407
+red,1,time_period_06,place-portr,11322
+red,1,time_period_06,place-qamnl,41612
+red,1,time_period_06,place-qnctr,67544
+red,1,time_period_06,place-shmnl,15550
+red,1,time_period_06,place-smmnl,19204
+red,1,time_period_06,place-sstat,441288
+red,1,time_period_06,place-wlsta,18004
+red,1,time_period_07,place-alfcl,0
+red,1,time_period_07,place-andrw,24895
+red,1,time_period_07,place-asmnl,46257
+red,1,time_period_07,place-brdwy,42077
+red,1,time_period_07,place-brntn,18250
+red,1,time_period_07,place-chmnl,71080
+red,1,time_period_07,place-cntsq,88699
+red,1,time_period_07,place-davis,6504
+red,1,time_period_07,place-dwnxg,196301
+red,1,time_period_07,place-fldcr,20701
+red,1,time_period_07,place-harsq,81468
+red,1,time_period_07,place-jfk,62062
+red,1,time_period_07,place-knncl,124742
+red,1,time_period_07,place-nqncy,26596
+red,1,time_period_07,place-pktrm,282429
+red,1,time_period_07,place-portr,10693
+red,1,time_period_07,place-qamnl,16006
+red,1,time_period_07,place-qnctr,40240
+red,1,time_period_07,place-shmnl,8819
+red,1,time_period_07,place-smmnl,8344
+red,1,time_period_07,place-sstat,199277
+red,1,time_period_07,place-wlsta,8674
+red,1,time_period_08,place-alfcl,0
+red,1,time_period_08,place-andrw,5921
+red,1,time_period_08,place-asmnl,12900
+red,1,time_period_08,place-brdwy,11546
+red,1,time_period_08,place-brntn,3771
+red,1,time_period_08,place-chmnl,14959
+red,1,time_period_08,place-cntsq,18968
+red,1,time_period_08,place-davis,1415
+red,1,time_period_08,place-dwnxg,40269
+red,1,time_period_08,place-fldcr,6157
+red,1,time_period_08,place-harsq,18978
+red,1,time_period_08,place-jfk,6839
+red,1,time_period_08,place-knncl,16004
+red,1,time_period_08,place-nqncy,9928
+red,1,time_period_08,place-pktrm,79412
+red,1,time_period_08,place-portr,1703
+red,1,time_period_08,place-qamnl,2710
+red,1,time_period_08,place-qnctr,10307
+red,1,time_period_08,place-shmnl,1992
+red,1,time_period_08,place-smmnl,2422
+red,1,time_period_08,place-sstat,44558
+red,1,time_period_08,place-wlsta,2287
+red,1,time_period_09,place-alfcl,0
+red,1,time_period_09,place-andrw,727
+red,1,time_period_09,place-asmnl,1569
+red,1,time_period_09,place-brdwy,1738
+red,1,time_period_09,place-brntn,411
+red,1,time_period_09,place-chmnl,1963
+red,1,time_period_09,place-cntsq,3467
+red,1,time_period_09,place-davis,84
+red,1,time_period_09,place-dwnxg,4951
+red,1,time_period_09,place-fldcr,476
+red,1,time_period_09,place-harsq,3309
+red,1,time_period_09,place-jfk,654
+red,1,time_period_09,place-knncl,2992
+red,1,time_period_09,place-nqncy,1171
+red,1,time_period_09,place-pktrm,9827
+red,1,time_period_09,place-portr,255
+red,1,time_period_09,place-qamnl,170
+red,1,time_period_09,place-qnctr,1225
+red,1,time_period_09,place-shmnl,212
+red,1,time_period_09,place-smmnl,196
+red,1,time_period_09,place-sstat,7485
+red,1,time_period_09,place-wlsta,101
diff --git a/ridership_db/csv_ridership_db.go b/ridership_db/csv_ridership_db.go
new file mode 100644
index 0000000..75ed571
--- /dev/null
+++ b/ridership_db/csv_ridership_db.go
@@ -0,0 +1,39 @@
+package ridershipDB
+
+import (
+ "encoding/csv"
+ "fmt"
+ "os"
+
+)
+
+type CsvRidershipDB struct {
+ idIdxMap map[string]int
+ csvFile *os.File
+ csvReader *csv.Reader
+ num_intervals int
+}
+
+func (c *CsvRidershipDB) Open(filePath string) error {
+ c.num_intervals = 9
+
+ // Create a map that maps MBTA's time period ids to indexes in the slice
+ c.idIdxMap = make(map[string]int)
+ for i := 1; i <= c.num_intervals; i++ {
+ timePeriodID := fmt.Sprintf("time_period_%02d", i)
+ c.idIdxMap[timePeriodID] = i - 1
+ }
+
+ // create csv reader
+ csvFile, err := os.Open(filePath)
+ if err != nil {
+ return err
+ }
+ c.csvFile = csvFile
+ c.csvReader = csv.NewReader(c.csvFile)
+
+ return nil
+}
+
+// TODO: some code goes here
+// Implement the remaining RidershipDB methods
diff --git a/ridership_db/interface_ridership_db.go b/ridership_db/interface_ridership_db.go
new file mode 100644
index 0000000..8d392e9
--- /dev/null
+++ b/ridership_db/interface_ridership_db.go
@@ -0,0 +1,7 @@
+package ridershipDB
+
+type RidershipDB interface {
+ Open(filePath string) error
+ GetRidership(lineId string) ([]int64, error)
+ Close() error
+}
diff --git a/ridership_db/ridership_db_test.go b/ridership_db/ridership_db_test.go
new file mode 100644
index 0000000..2d4c6e6
--- /dev/null
+++ b/ridership_db/ridership_db_test.go
@@ -0,0 +1,53 @@
+package ridershipDB
+
+import (
+ // rdb "main/ridership_db"
+ "testing"
+)
+
+func TestRidershipDBsMatch(t *testing.T) {
+ lineIds := []string{"red", "green", "blue", "orange"}
+
+ for _, lineId := range lineIds {
+ t.Run(lineId, func(t *testing.T) {
+ // Create instances of CsvRidershipDB and SqliteRidershipDB
+ var csvDB RidershipDB = &CsvRidershipDB{} // CSV implementation
+ var sqliteDB RidershipDB = &SqliteRidershipDB{} // SQLite implementation
+
+ // Open database connections
+ err := csvDB.Open("../mbta.csv")
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer csvDB.Close()
+
+ err = sqliteDB.Open("../mbta.sqlite")
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer sqliteDB.Close()
+
+ // Retrieve data from both implementations
+ csvData, err := csvDB.GetRidership(lineId)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ sqliteData, err := sqliteDB.GetRidership(lineId)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ // Compare the data
+ if len(csvData) != len(sqliteData) {
+ t.Errorf("Lengths of data arrays do not match")
+ }
+
+ for i := 0; i < len(csvData); i++ {
+ if csvData[i] != sqliteData[i] {
+ t.Errorf("Mismatched data at index %d: Csv: %d, SQLite: %d", i, csvData[i], sqliteData[i])
+ }
+ }
+ })
+ }
+}
diff --git a/ridership_db/sqlite_ridership_db.go b/ridership_db/sqlite_ridership_db.go
new file mode 100644
index 0000000..e512256
--- /dev/null
+++ b/ridership_db/sqlite_ridership_db.go
@@ -0,0 +1,58 @@
+package ridershipDB
+
+import (
+ "database/sql"
+
+ _ "github.com/mattn/go-sqlite3"
+)
+
+type SqliteRidershipDB struct {
+ db *sql.DB
+}
+
+func (s *SqliteRidershipDB) Open(filePath string) error {
+ db, err := sql.Open("sqlite3", filePath)
+ if err != nil {
+ return err
+ }
+ s.db = db
+ return nil
+}
+
+func (s *SqliteRidershipDB) GetRidership(lineId string) ([]int64, error) {
+ query := `
+ SELECT SUM(total_ons)
+ FROM rail_ridership
+ WHERE season = 'Fall 2017'
+ AND time_period_id NOT IN ('time_period_10', 'time_period_11')
+ AND line_id = ?
+ GROUP BY time_period_id
+ ORDER BY time_period_id;
+ `
+
+ rows, err := s.db.Query(query, lineId)
+ if err != nil {
+ return nil, err
+ }
+ defer rows.Close()
+
+ var values []int64
+ for rows.Next() {
+ var value int64
+ err := rows.Scan(&value)
+ if err != nil {
+ return nil, err
+ }
+ values = append(values, value)
+ }
+
+ if err := rows.Err(); err != nil {
+ return nil, err
+ }
+
+ return values, nil
+}
+
+func (s *SqliteRidershipDB) Close() error {
+ return s.db.Close()
+}
diff --git a/screenshot.png b/screenshot.png
new file mode 100644
index 0000000..5f43bf7
Binary files /dev/null and b/screenshot.png differ
diff --git a/submission.zip b/submission.zip
new file mode 100644
index 0000000..47ffa0b
Binary files /dev/null and b/submission.zip differ
diff --git a/utils/render_chart.go b/utils/render_chart.go
new file mode 100644
index 0000000..31c3c0b
--- /dev/null
+++ b/utils/render_chart.go
@@ -0,0 +1,81 @@
+package utils
+
+import (
+ "bytes"
+ "fmt"
+
+ "github.com/wcharczuk/go-chart"
+ "github.com/wcharczuk/go-chart/drawing"
+)
+
+// Generates a bar chart and returns the PNG image bytes
+func GenerateBarChart(values []int64) ([]byte, error) {
+ // times corresponding to time_periods
+ labels := []string{
+ "3:00 - 05:59",
+ "6:00 - 06:59",
+ "7:00 - 08:59",
+ "9:00 - 13:29",
+ "13:30 - 15:59",
+ "16:00 - 18:29",
+ "18:30 - 21:59",
+ "22:00 - 23:59",
+ "0:00 - 02:59",
+ }
+
+ if len(labels) != len(values) {
+ fmt.Println(len(values))
+ return nil, fmt.Errorf("number of labels and values must be the same")
+ }
+
+ graph := chart.BarChart{
+ Title: "Ridership Fall 2017",
+ TitleStyle: chart.StyleShow(),
+ Background: chart.Style{
+ Padding: chart.Box{
+ Top: 50,
+ },
+ },
+ Height: 400,
+ BarWidth: 40,
+ XAxis: chart.StyleShow(),
+ YAxis: chart.YAxis{
+ Style: chart.StyleShow(),
+ Range: &chart.ContinuousRange{
+ Min: 0,
+ Max: 5500000,
+ },
+ Ticks: []chart.Tick{
+ // Customize y-axis ticks to display as integers
+ {Value: 0, Label: "0"},
+ {Value: 1000000, Label: "1,000,000"},
+ {Value: 2000000, Label: "2,000,000"},
+ {Value: 3000000, Label: "3,000,000"},
+ {Value: 4000000, Label: "4,000,000"},
+ {Value: 5000000, Label: "5,000,000"},
+ },
+ },
+ Bars: []chart.Value{},
+ }
+
+ for i, label := range labels {
+ graph.Bars = append(graph.Bars, chart.Value{
+ Label: label,
+ Value: float64(values[i]),
+ Style: chart.Style{
+ Show: true,
+ FillColor: drawing.ColorBlue,
+ StrokeColor: drawing.ColorBlue,
+ },
+ })
+ }
+
+ // Render the chart as PNG image bytes
+ buffer := bytes.NewBuffer([]byte{})
+ err := graph.Render(chart.PNG, buffer)
+ if err != nil {
+ return nil, err
+ }
+
+ return buffer.Bytes(), nil
+}