# Scoring Engine WEB API

## Overview <a href="#overview" id="overview"></a>

## HTTP status codes <a href="#overview-http-status-codes" id="overview-http-status-codes"></a>

Scoring Engine uses following HTTP status codes.

| Status code                | Usage                                                                                                                                             |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `200 OK`                   | The request completed successfully.                                                                                                               |
| `201 Created`              | A new resource has been created successfully. The resource’s URI is available from the response’s `Location` header.                              |
| `204 No Content`           | A deletion of an existing resource has been applied successfully                                                                                  |
| `400 Bad Request`          | The request was malformed. The response body will include an error providing further information.                                                 |
| `401 Unauthorized`         | The request has not been applied because it lacks valid authentication credentials for the target resource.                                       |
| `404 Not Found`            | The requested resource did not exist.                                                                                                             |
| `409 Conflict`             | Indicates that the request could not be processed because of conflict in the request, such as creation new resource with id already existing one. |
| `422 Unprocessable Entity` | The request was well-formed but was unable to be followed due to semantic errors.                                                                 |

## Resources <a href="#resources" id="resources"></a>

## Scenario <a href="#resources-scenario" id="resources-scenario"></a>

The Scenario resource is used to manage scenarios.

### Importing scenarios <a href="#resources-scenario-import" id="resources-scenario-import"></a>

A `POST` request is used to import scenarios.

**Request structure**

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Parameters**

| Parameter   | Description                                                  |
| ----------- | ------------------------------------------------------------ |
| `overwrite` | Indicates if overwrite existing scenarios with the same name |

**Example request**

```bash
$ curl 'http://example.org/api/scenario/import?overwrite=false' -i -X POST \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer c5a66c9c-17b0-4ceb-914d-f933c7d06ac1' \
    -H 'Content-Type: application/json; charset=UTF-8' \
    -d '[ {
  "id" : "5929acd65827d2000734937f",
  "name" : "simple",
  "createdAt" : 1495903446443,
  "updatedAt" : 1495903471971,
  "content" : "{\"cells\":[{\"type\":\"html.Element\",\"position\":{\"x\":378,\"y\":177},\"backendModelParams\":{\"name\":\"Start\",\"id\":\"5929aceb5827d20007349380\",\"entityIdentifier\":\"start\"},\"options\":{\"interactive\":true},\"isChartNode\":true,\"id\":\"0e590ebd-41f7-41f9-9748-8e23e6b297ef\",\"z\":1,\"attrs\":{\".name\":{\"text\":\"Start\",\"x\":\"30px\",\"y\":\"24px\",\"x-alignment\":\"left\"},\".full-name\":{\"text\":\"Start\"},\".connection-port\":{\"display\":\"block\"},\".connection-port-true\":{\"display\":\"none\"},\".connection-port-false\":{\"display\":\"none\"},\".connection-port-decision-true\":{\"display\":\"none\"},\".connection-port-decision-false\":{\"display\":\"none\"},\"rect\":{\"fill\":\"#43a047\"}}},{\"type\":\"html.Element\",\"position\":{\"x\":353,\"y\":331},\"backendModelParams\":{\"name\":\"Expression\",\"id\":\"5929aced5827d20007349381\",\"entityIdentifier\":\"expression\"},\"options\":{\"interactive\":true},\"isChartNode\":true,\"id\":\"0bdd89e3-80a8-4f33-89b6-a52ffb631e46\",\"z\":2,\"attrs\":{\".name\":{\"text\":\"Expression\",\"x\":\"30px\",\"y\":\"24px\",\"x-alignment\":\"left\"},\".full-name\":{\"text\":\"Expression\"},\".connection-port\":{\"display\":\"block\"},\".connection-port-true\":{\"display\":\"none\"},\".connection-port-false\":{\"display\":\"none\"},\".connection-port-decision-true\":{\"display\":\"none\"},\".connection-port-decision-false\":{\"display\":\"none\"},\"rect\":{\"fill\":\"#009688\"}}},{\"type\":\"link\",\"source\":{\"id\":\"0e590ebd-41f7-41f9-9748-8e23e6b297ef\"},\"target\":{\"id\":\"0bdd89e3-80a8-4f33-89b6-a52ffb631e46\"},\"backendModelParams\":{\"id\":\"5929acef5827d20007349382\"},\"isChartNode\":false,\"data\":{},\"id\":\"c2428e66-7467-4c3b-a32a-3114b7762e37\",\"z\":3,\"vertices\":[{\"x\":411,\"y\":277.5}],\"attrs\":{\".marker-target\":{\"d\":\"M 10 0 L 0 5 L 10 10 z\"},\".marker-source\":{\"display\":\"none\"},\".marker-vertex-remove-area\":{\"display\":\"none\"},\".marker-vertex-remove\":{\"display\":\"none\"},\".marker-vertex\":{\"r\":\"5\"},\".connection\":{\"stroke\":\"gray\"}}}]}",
  "nodeProperties" : {
    "5929aceb5827d20007349380" : {
      "id" : "5929aceb5827d20007349380",
      "content" : "{\"types\":[],\"variables\":[{\"required\":true,\"name\":\"AAA\",\"type\":\"INTEGER\"}],\"validators\":[], \"refactor\": true}",
      "type" : "start"
    },
    "5929aced5827d20007349381" : {
      "id" : "5929aced5827d20007349381",
      "content" : "{\"arithmetic\":\"V=(0..4); TMP=4.0*AAA; return TMP / 2.0\",\"prefix\":\"\",\"merge\":\"OVERWRITE_ALL\",\"type\":\"GROOVY\"}",
      "type" : "expression"
    }
  },
  "userId" : "admin",
  "version" : 1,
  "selected" : true
} ]'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Date: Fri, 05 Mar 2021 15:16:16 GMT
Content-Length: 51
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Transfer-Encoding: chunked

{
  "count" : 1,
  "scenarioValidationErrors" : 0
}
```

### Exporting scenarios <a href="#resources-scenario-export" id="resources-scenario-export"></a>

A `GET` request is used to export scenarios.

**Request structure**

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/api/scenario/export' -i -X GET \
    -H 'Authorization: Bearer c5a66c9c-17b0-4ceb-914d-f933c7d06ac1'
```

**Response structure**

Response status should be `200` or suitable[ error ](#overview)will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Date: Fri, 05 Mar 2021 15:16:16 GMT
Content-Length: 2870
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Transfer-Encoding: chunked

[ {
  "id" : "5929acd65827d2000734937f",
  "name" : "simple",
  "createdAt" : "2021-03-05T15:16:16.014+0000",
  "updatedAt" : "2021-03-05T15:16:16.014+0000",
  "content" : "{\"cells\":[{\"type\":\"html.Element\",\"position\":{\"x\":378,\"y\":177},\"backendModelParams\":{\"name\":\"Start\",\"id\":\"5929aceb5827d20007349380\",\"entityIdentifier\":\"start\"},\"options\":{\"interactive\":true},\"isChartNode\":true,\"id\":\"0e590ebd-41f7-41f9-9748-8e23e6b297ef\",\"z\":1,\"attrs\":{\".name\":{\"text\":\"Start\",\"x\":\"30px\",\"y\":\"24px\",\"x-alignment\":\"left\"},\".full-name\":{\"text\":\"Start\"},\".connection-port\":{\"display\":\"block\"},\".connection-port-true\":{\"display\":\"none\"},\".connection-port-false\":{\"display\":\"none\"},\".connection-port-decision-true\":{\"display\":\"none\"},\".connection-port-decision-false\":{\"display\":\"none\"},\"rect\":{\"fill\":\"#43a047\"}}},{\"type\":\"html.Element\",\"position\":{\"x\":353,\"y\":331},\"backendModelParams\":{\"name\":\"Expression\",\"id\":\"5929aced5827d20007349381\",\"entityIdentifier\":\"expression\"},\"options\":{\"interactive\":true},\"isChartNode\":true,\"id\":\"0bdd89e3-80a8-4f33-89b6-a52ffb631e46\",\"z\":2,\"attrs\":{\".name\":{\"text\":\"Expression\",\"x\":\"30px\",\"y\":\"24px\",\"x-alignment\":\"left\"},\".full-name\":{\"text\":\"Expression\"},\".connection-port\":{\"display\":\"block\"},\".connection-port-true\":{\"display\":\"none\"},\".connection-port-false\":{\"display\":\"none\"},\".connection-port-decision-true\":{\"display\":\"none\"},\".connection-port-decision-false\":{\"display\":\"none\"},\"rect\":{\"fill\":\"#009688\"}}},{\"type\":\"link\",\"source\":{\"id\":\"0e590ebd-41f7-41f9-9748-8e23e6b297ef\"},\"target\":{\"id\":\"0bdd89e3-80a8-4f33-89b6-a52ffb631e46\"},\"backendModelParams\":{\"id\":\"5929acef5827d20007349382\"},\"isChartNode\":false,\"data\":{},\"id\":\"c2428e66-7467-4c3b-a32a-3114b7762e37\",\"z\":3,\"vertices\":[{\"x\":411,\"y\":277.5}],\"attrs\":{\".marker-target\":{\"d\":\"M 10 0 L 0 5 L 10 10 z\"},\".marker-source\":{\"display\":\"none\"},\".marker-vertex-remove-area\":{\"display\":\"none\"},\".marker-vertex-remove\":{\"display\":\"none\"},\".marker-vertex\":{\"r\":\"5\"},\".connection\":{\"stroke\":\"gray\"}}}]}",
  "nodeProperties" : {
    "5929aceb5827d20007349380" : {
      "id" : "5929aceb5827d20007349380",
      "content" : "{\"types\":[],\"variables\":[{\"required\":true,\"name\":\"AAA\",\"type\":\"INTEGER\"}],\"validators\":[], \"refactor\": true}",
      "type" : "start"
    },
    "5929aced5827d20007349381" : {
      "id" : "5929aced5827d20007349381",
      "content" : "{\"arithmetic\":\"V=(0..4); TMP=4.0*AAA; return TMP / 2.0\",\"prefix\":\"\",\"merge\":\"OVERWRITE_ALL\",\"type\":\"GROOVY\"}",
      "type" : "expression"
    }
  },
  "userId" : "user1",
  "version" : 1,
  "selected" : true,
  "testCases" : [ ]
} ]
```

### Creating scenario process <a href="#resources-scenario-create-process" id="resources-scenario-create-process"></a>

A `GET` request is used to create scenario process.

**Request structure**

The request path contains following parameters:

| Parameter    | Description |
| ------------ | ----------- |
| `scenarioId` | Scenario id |

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/api/scenario/process/create/5929acd65827d2000734937f' -i -X GET \
    -H 'Authorization: Bearer c5a66c9c-17b0-4ceb-914d-f933c7d06ac1'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Date: Fri, 05 Mar 2021 15:16:16 GMT
Content-Length: 1273
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Transfer-Encoding: chunked

{
  "nodes" : {
    "start1" : {
      "@type" : "StartNode",
      "resultPrefix" : null,
      "resultMergeStrategy" : "OVERWRITE_NULL",
      "id" : "start1",
      "customName" : null,
      "type" : "START",
      "variableInfo" : {
        "AAA" : {
          "name" : "AAA",
          "type" : {
            "@type" : "IntegerVariableType",
            "type" : "INTEGER"
          },
          "required" : true,
          "description" : null,
          "tags" : [ ]
        }
      },
      "variableValidator" : {
        "AAA" : [ {
          "@type" : "VariableTypeValidator",
          "type" : "VARIABLE_TYPE",
          "variableType" : {
            "@type" : "IntegerVariableType",
            "type" : "INTEGER"
          },
          "checkNull" : true
        } ]
      }
    },
    "expression2" : {
      "@type" : "GroovyExpressionNode",
      "resultPrefix" : "",
      "resultMergeStrategy" : "OVERWRITE_ALL",
      "id" : "expression2",
      "type" : "EXPRESSION",
      "expressionArithmetic" : "V=(0..4); TMP=4.0*AAA; return TMP / 2.0",
      "expressionType" : "GROOVY"
    }
  },
  "edges" : {
    "start1" : [ {
      "@type" : "BasicEdge",
      "sourceId" : "start1",
      "targetId" : "expression2",
      "type" : "BASIC"
    } ]
  }
}
```

## Code <a href="#resources-code" id="resources-code"></a>

The Code resource is used to manage codes.

### Importing codes <a href="#resources-code-import" id="resources-code-import"></a>

A `POST` request is used to import codes.

**Request structure**

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Parameters**

| Parameter   | Description                                              |
| ----------- | -------------------------------------------------------- |
| `overwrite` | Indicates if overwrite existing codes with the same name |

**Example request**

```bash
$ curl 'http://example.org/api/code/import?overwrite=false' -i -X POST \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer c5a66c9c-17b0-4ceb-914d-f933c7d06ac1' \
    -H 'Content-Type: application/json; charset=UTF-8' \
    -d '[ {
  "type" : "scoring",
  "name" : "Simple",
  "className" : "SimpleScoringCode",
  "content" : "package com.ziom;\n\nimport java.util.HashMap;\nimport java.util.Map;\nimport java.util.Set;\nimport pl.algolytics.aengine.scoring.code.interfaces.ScoringCode;\n\nimport static java.util.stream.Collectors.toMap;\n\npublic class SimpleScoringCode implements ScoringCode {\n\n    private static final Map<String, Class> INPUT_ATTRIBUTES = new HashMap<String, Class>() {{\n        put(\"A\", Double.class);\n        put(\"B\", Double.class);\n        put(\"C\", Double.class);        \n    }};\n\n    public Map<String, Double> prepareData(Map<String, Object> inputData) {\n        return inputData.entrySet().stream().collect(toMap(Map.Entry::getKey, e -> checkAndInitializeValue(e.getValue())));\n    }\n\n    private Double checkAndInitializeValue(Object tmpAttr) {\n        if (tmpAttr != null) {\n            if (tmpAttr instanceof Number)\n                return ((Number) tmpAttr).doubleValue();\n            else\n                throw new RuntimeException(\"Data type (\" + tmpAttr.getClass() + \") doesn't match to data type (Number) specified in inputSignature for attribute 'duration'. Can't continue. \");\n        }\n        return Double.NaN;\n    }\n\n    @Override\n    public Map<String, Object> process(HashMap<String, Object> inputData) {\n        return score(prepareData(inputData));\n    }\n\n    @Override\n    public Map<String, Class> getInputAttributes() {\n        return INPUT_ATTRIBUTES;\n    }\n\n    @Override\n    public Set<String> getIds() {\n        return INPUT_ATTRIBUTES.keySet();\n    }\n\n    public Map<String, Object> score(Map<String, Double> inputRow) {\n        Double value = 1d;\n        Map<String, Object> resultMap = new HashMap<>();\n        resultMap.put(\"computeValue\", value);\n        return resultMap;\n    }\n}",
  "data" : null,
  "validFrom" : "2017-05-29",
  "validTo" : "2017-05-29",
  "userId" : "admin",
  "version" : 1,
  "selected" : false
} ]'
```

**Response structure**

Response status should be `200` or suitable [error](#overview) will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Date: Fri, 05 Mar 2021 15:16:16 GMT
Content-Length: 17
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Transfer-Encoding: chunked

{
  "count" : 1
}
```

### Exporting codes <a href="#resources-code-export" id="resources-code-export"></a>

A `GET` request is used to export codes.

**Request structure**

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/api/code/export' -i -X GET \
    -H 'Authorization: Bearer c5a66c9c-17b0-4ceb-914d-f933c7d06ac1'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Date: Fri, 05 Mar 2021 15:16:16 GMT
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Content-Length: 3
Transfer-Encoding: chunked

[ ]
```

### Listing codes <a href="#resources-code-list" id="resources-code-list"></a>

A `GET` request is used to list codes.

**Request structure**

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/api/code/list' -i -X GET \
    -H 'Authorization: Bearer c5a66c9c-17b0-4ceb-914d-f933c7d06ac1'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Date: Fri, 05 Mar 2021 15:16:16 GMT
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Content-Length: 3
Transfer-Encoding: chunked

[ ]
```

### Counting codes <a href="#resources-code-count" id="resources-code-count"></a>

A `GET` request is used to count codes.

**Request structure**

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/api/code/count' -i -X GET \
    -H 'Authorization: Bearer c5a66c9c-17b0-4ceb-914d-f933c7d06ac1'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Date: Fri, 05 Mar 2021 15:16:16 GMT
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Content-Length: 1
Transfer-Encoding: chunked

0
```

## Scenario Code <a href="#resources-scenario-code" id="resources-scenario-code"></a>

The Scenario Code resource is used to manage scenario codes.

### Uploading a scenario code <a href="#resources-scenario-code-upload" id="resources-scenario-code-upload"></a>

A `POST` request is used to create a new scenario code.

**Request structure**

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Parameters**

| Parameter         | Description                                 |
| ----------------- | ------------------------------------------- |
| `name`            | Scenario code name                          |
| `increaseVersion` | Indicates if increase scenario code version |

**Body**

Body should contain correct json scenario code encoded in plain text.

**Example request**

```bash
$ curl 'http://example.org/api/scenario/code/create?name=simple&increaseVersion=false' -i -X POST \
    -H 'Accept: application/json' \
    -H 'Content-Type: application/json; charset=UTF-8' \
    -H 'Authorization: Bearer bc3644a7-690a-48ba-ae6a-b3357e62caf8' \
    -d '{
  "nodes" : {
    "1" : {
      "resultPrefix" : null,
      "resultMergeStrategy" : "OVERWRITE_NULL",
      "id" : "1",
      "type" : "START",
      "variableInfo" : {
        "AAA" : {
          "name" : "AAA",
          "type" : {
            "type" : "INTEGER"
          },
          "required" : true,
          "description" : "",
          "tags" : [ ]
        }
      },
      "variableValidator" : {
        "AAA" : [ {
          "type" : "VARIABLE_TYPE",
          "variableType" : {
            "type" : "INTEGER"
          },
          "checkNull" : true
        } ]
      }
    },
    "2" : {
      "resultPrefix" : "",
      "resultMergeStrategy" : "OVERWRITE_ALL",
      "id" : "2",
      "type" : "EXPRESSION",
      "expressionArithmetic" : "V=(0..4); TMP=4.0*AAA; return TMP / 2.0",
      "expressionType" : "GROOVY",
      "expression" : "V=(0..4); TMP=4.0*AAA; return TMP / 2.0"
    }
  },
  "edges" : {
    "1" : [ {
      "sourceId" : "1",
      "targetId" : "2",
      "type" : "BASIC"
    } ]
  }
}'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Date: Fri, 05 Mar 2021 15:17:45 GMT
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
```

### Scoring a scenario code <a href="#resources-scenario-code-score" id="resources-scenario-code-score"></a>

A `Post` request is used to score specified scenario code.

**Request structure**

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Parameters**

| Parameter | Description        |
| --------- | ------------------ |
| `name`    | Scenario code name |

**Example request**

```bash
$ curl 'http://example.org/api/scenario/code/score?name=simple' -i -X POST \
    -H 'Accept: application/json' \
    -H 'Content-Type: application/json; charset=UTF-8' \
    -H 'Authorization: Bearer 5a542ee7-c482-41ba-b106-49feef836a19' \
    -d '{
  "AAA" : 2.5
}'
```

**Response structure**

Response status should be `200` with following structure.

| Path        | Type     | Description                                    |
| ----------- | -------- | ---------------------------------------------- |
| `name`      | `String` | Model name used for scoring                    |
| `beginTime` | `String` | Scoring start time                             |
| `endTime`   | `String` | Scoring end time                               |
| `result`    | `Object` | Result of model scored with input data         |
| `error`     | `Null`   | Exception message if scoring exception occured |

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
X-Content-Type-Options: nosniff
Date: Fri, 05 Mar 2021 15:17:46 GMT
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Content-Length: 277
Transfer-Encoding: chunked

{
  "name" : "simple",
  "beginTime" : "2021-03-05T15:16:05.018316Z",
  "endTime" : "2021-03-05T15:16:05.119643Z",
  "result" : {
    "AAA" : 2.5,
    "V" : [ 0, 1, 2, 3, 4 ],
    "TMP" : 10,
    "__additional" : {
      "remoteAddr" : "127.0.0.1"
    }
  },
  "error" : null
}
```

### Scoring a scenario code error <a href="#resources-scenario-code-score-error" id="resources-scenario-code-score-error"></a>

A `Post` request is used to score specified scenario code.

**Request structure**

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Parameters**

| Parameter | Description        |
| --------- | ------------------ |
| `name`    | Scenario code name |

**Example request**

```bash
$ curl 'http://example.org/api/scenario/code/score?name=simple' -i -X POST \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer 03a538a5-cea6-4181-b33b-ad9b14c86e0c' \
    -H 'Content-Type: application/json; charset=UTF-8' \
    -d '{"AAA": BBB}'
```

**Response structure**

Suitable error will be returned.

| Path        | Type     | Description        |
| ----------- | -------- | ------------------ |
| `timestamp` | `String` | Error time         |
| `status`    | `Number` | Error code status  |
| `path`      | `String` | Error resource     |
| `error`     | `String` | Error code message |
| `message`   | `String` | Error message      |

**Example response**

```http
HTTP/1.1 400 Bad Request
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Date: Fri, 05 Mar 2021 15:17:47 GMT
Connection: close
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Content-Length: 431
Transfer-Encoding: chunked

{
  "timestamp" : "2021-03-05T15:17:47.429+0000",
  "status" : 400,
  "error" : "Bad Request",
  "message" : "JSON parse error: Unrecognized token 'BBB': was expecting ('true', 'false' or 'null'); nested exception is com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'BBB': was expecting ('true', 'false' or 'null')\n at [Source: (PushbackInputStream); line: 1, column: 13]",
  "path" : "/api/scenario/code/score"
}
```

### Remote scoring a scenario code <a href="#resources-scenario-code-remote-score" id="resources-scenario-code-remote-score"></a>

A `Post` request is used to remote score specified scenario code.

**Request structure**

**Parameters**

| Parameter | Description        |
| --------- | ------------------ |
| `name`    | Scenario code name |
| `key`     | Score token        |

**Example request**

```bash
$ curl 'http://example.org/api/scenario/code/remote/score?name=simple&key=ab65b63a-9df6-48fb-95cc-6a7f7c005d52' -i -X POST \
    -H 'Accept: application/json' \
    -H 'Content-Type: application/json; charset=UTF-8' \
    -d '{
  "AAA" : 2.5
}'
```

**Response structure**

Response status should be `200` with following structure or suitable[ error ](#overview)will be returned.

| Path        | Type     | Description                            |
| ----------- | -------- | -------------------------------------- |
| `name`      | `String` | Model name used for scoring            |
| `beginTime` | `String` | Scoring start time                     |
| `endTime`   | `String` | Scoring end time                       |
| `result`    | `Object` | Result of model scored with input data |
| `error`     | `Null`   | Error message if error occured         |
| `sceuid`    | `String` | Browser cookie identifying user        |

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
Date: Fri, 05 Mar 2021 15:17:52 GMT
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
X-Content-Type-Options: nosniff
Set-Cookie: sceuid=b4ae4520-d2ad-4c63-9c51-8de18c6e68ad; Path=/; Domain=localhost; Max-Age=31536000; Expires=Sat, 05 Mar 2022 15:17:52 GMT; Secure; SameSite=None
Content-Length: 712
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Transfer-Encoding: chunked

{
  "name" : "simple",
  "beginTime" : "2021-03-05T15:16:05.018316Z",
  "endTime" : "2021-03-05T15:16:05.119643Z",
  "result" : {
    "AAA" : 2.5,
    "V" : [ 0, 1, 2, 3, 4 ],
    "TMP" : 10,
    "__additional" : {
      "sceuid" : "b4ae4520-d2ad-4c63-9c51-8de18c6e68ad",
      "remoteAddr" : "127.0.0.1"
    },
    "__headers" : {
      "content-length" : "12",
      "host" : "localhost:37807",
      "content-type" : "application/json; charset=UTF-8",
      "connection" : "Keep-Alive",
      "accept-encoding" : "gzip,deflate",
      "accept" : "application/json",
      "user-agent" : "Apache-HttpClient/4.5.8 (Java/11.0.6)"
    }
  },
  "error" : null,
  "sceuid" : "b4ae4520-d2ad-4c63-9c51-8de18c6e68ad"
}
```

### Scoring async a scenario code <a href="#resources-scenario-code-score-async" id="resources-scenario-code-score-async"></a>

A `Post` request is used to score async specified scenario code.

**Request structure**

The request path contains following parameters:

| Parameter | Description        |
| --------- | ------------------ |
| `name`    | Scenario code name |

**Headers**

| Name                       | Description                                               |
| -------------------------- | --------------------------------------------------------- |
| `Authorization`            | Authorization token                                       |
| `X-SCE-RequestId`          | Unique id to identify scoring                             |
| `X-SCE-CallbackUrl`        | Callback address to send scoring results                  |
| `X-SCE-CallbackRetryCount` | Callback retry number (if sending scoring results failed) |
| `X-SCE-CallbackRetryDelay` | Delay between consecutive callback retries (in seconds)   |

**Example request**

```bash
$ curl 'http://example.org/api/scenario/code/scoreasync/simple' -i -X POST \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer 7ca985cb-781f-44f9-81d8-2f60dc8fca76' \
    -H 'X-SCE-CallbackUrl: http://example.org/' \
    -H 'Content-Type: application/json; charset=UTF-8' \
    -H 'X-SCE-CallbackRetryCount: 3' \
    -H 'X-SCE-RequestId: id_1' \
    -H 'X-SCE-CallbackRetryDelay: 30' \
    -d '{
  "AAA" : 2.5
}'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Date: Fri, 05 Mar 2021 15:17:48 GMT
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
```

### Getting a scenario code attributes <a href="#resources-scenario-code-attributes" id="resources-scenario-code-attributes"></a>

A `Get` request is used to get specified scenario code attributes.

**Request structure**

The request path contains following parameters:

| Parameter | Description        |
| --------- | ------------------ |
| `name`    | Scenario code name |

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/api/scenario/code/attributes/simple' -i -X GET \
    -H 'Authorization: Bearer 64fd07c5-4679-4643-bc2e-f2d8a8eb17ae'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Content-Length: 110
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Date: Fri, 05 Mar 2021 15:17:56 GMT
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Transfer-Encoding: chunked

{
  "inputAttributesVariable" : {
    "AAA" : {
      "type" : "INTEGER",
      "description" : ""
    }
  }
}
```

### Exporting a scenario code <a href="#resources-scenario-code-export" id="resources-scenario-code-export"></a>

A `Get` request is used to export specified scenario code in json format.

**Request structure**

The request path contains following parameters:

| Parameter | Description        |
| --------- | ------------------ |
| `name`    | Scenario code name |

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/api/scenario/code/download/simple' -i -X GET \
    -H 'Authorization: Bearer 2ea5448f-3efc-4475-a43e-fe0ff811d61d'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Date: Fri, 05 Mar 2021 15:17:54 GMT
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Content-Length: 1025
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Content-Type: text/plain;charset=UTF-8

{
  "nodes" : {
    "1" : {
      "resultPrefix" : null,
      "resultMergeStrategy" : "OVERWRITE_NULL",
      "id" : "1",
      "type" : "START",
      "variableInfo" : {
        "AAA" : {
          "name" : "AAA",
          "type" : {
            "type" : "INTEGER"
          },
          "required" : true,
          "description" : "",
          "tags" : [ ]
        }
      },
      "variableValidator" : {
        "AAA" : [ {
          "type" : "VARIABLE_TYPE",
          "variableType" : {
            "type" : "INTEGER"
          },
          "checkNull" : true
        } ]
      }
    },
    "2" : {
      "resultPrefix" : "",
      "resultMergeStrategy" : "OVERWRITE_ALL",
      "id" : "2",
      "type" : "EXPRESSION",
      "expressionArithmetic" : "V=(0..4); TMP=4.0*AAA; return TMP / 2.0",
      "expressionType" : "GROOVY",
      "expression" : "V=(0..4); TMP=4.0*AAA; return TMP / 2.0"
    }
  },
  "edges" : {
    "1" : [ {
      "sourceId" : "1",
      "targetId" : "2",
      "type" : "BASIC"
    } ]
  }
}
```

### Listing scenario codes <a href="#resources-scenario-code-list" id="resources-scenario-code-list"></a>

A `GET` request is used to list scenario codes.

**Request structure**

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/api/scenario/code/list' -i -X GET \
    -H 'Authorization: Bearer d3c408ad-0367-432d-90d4-fa89c06f5ab8'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Content-Length: 1395
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Date: Fri, 05 Mar 2021 15:17:57 GMT
Transfer-Encoding: chunked

[ {
  "id" : "6129acd65827d2000734937f",
  "name" : "simple",
  "content" : "{\n  \"nodes\": {\n    \"1\": {\n      \"resultPrefix\": null,\n      \"resultMergeStrategy\": \"OVERWRITE_NULL\",\n      \"id\": \"1\",\n      \"type\": \"START\",\n      \"variableInfo\": {\n        \"AAA\": {\n          \"name\": \"AAA\",\n          \"type\": {\n            \"type\": \"INTEGER\"\n          },\n          \"required\": true,\n          \"description\": \"\",\n          \"tags\": []\n        }\n      },\n      \"variableValidator\": {\n        \"AAA\": [\n          {\n            \"type\": \"VARIABLE_TYPE\",\n            \"variableType\": {\n              \"type\": \"INTEGER\"\n            },\n            \"checkNull\": true\n          }\n        ]\n      }\n    },\n    \"2\": {\n      \"resultPrefix\": \"\",\n      \"resultMergeStrategy\": \"OVERWRITE_ALL\",\n      \"id\": \"2\",\n      \"type\": \"EXPRESSION\",\n      \"expressionArithmetic\": \"V=(0..4); TMP=4.0*AAA; return TMP / 2.0\",\n      \"expressionType\": \"GROOVY\",\n      \"expression\": \"V=(0..4); TMP=4.0*AAA; return TMP / 2.0\"\n    }\n  },\n  \"edges\": {\n    \"1\": [\n      {\n        \"sourceId\": \"1\",\n        \"targetId\": \"2\",\n        \"type\": \"BASIC\"\n      }\n    ]\n  }\n}",
  "validFrom" : "2021-03-05",
  "validTo" : "3021-03-05",
  "userId" : " testUser2",
  "version" : 1,
  "selected" : true
} ]
```

### Counting scenario codes <a href="#resources-scenario-code-count" id="resources-scenario-code-count"></a>

A `GET` request is used to count scenario codes.

**Request structure**

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/api/scenario/code/count' -i -X GET \
    -H 'Authorization: Bearer 871634df-fd94-48f5-8e5a-6c1847bae280'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Date: Fri, 05 Mar 2021 15:17:57 GMT
Content-Length: 1
Transfer-Encoding: chunked

1
```

## Scoring Code <a href="#resources-scoring-code" id="resources-scoring-code"></a>

The Scoring Code resource is used to manage scoring codes.

### Exporting a scoring code <a href="#resources-scoring-code-get" id="resources-scoring-code-get"></a>

A GET request is used to get specified scoring code in JSON format. The same format is used while importing codes.

**Request structure**

The request path contains following parameters:

| Parameter | Description       |
| --------- | ----------------- |
| `name`    | Scoring code name |

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/api/scoring/code/get/Simple' -i -X GET \
    -H 'Authorization: Bearer ded85e75-6229-4fde-b4c1-fcdfd38d895d'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Content-Type: application/json;charset=UTF-8
Date: Fri, 05 Mar 2021 15:16:19 GMT
Content-Length: 265
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Transfer-Encoding: chunked

{
  "id" : "6029acd65827d2000734937f",
  "code" : "Simple",
  "className" : "SimpleScoringCode",
  "content" : "public class ScoringCode {}",
  "validFrom" : "2021-03-05",
  "validTo" : "2021-03-05",
  "userId" : " testUser6",
  "version" : 1,
  "selected" : true
}
```

### Uploading a scoring code <a href="#resources-scoring-code-upload" id="resources-scoring-code-upload"></a>

A `POST` request is used to upload a scoring code.

**Request structure**

**Parts**

| Part              | Description                                         |
| ----------------- | --------------------------------------------------- |
| `dateFrom`        | Date from                                           |
| `dateTo`          | Date to                                             |
| `fileName`        | Name of the file, from which we upload scoring code |
| `scoringCodeName` | Scoring code name                                   |
| `charset`         | File encoding                                       |
| `file`            | File from which we upload scoring code              |

**Headers**

| Name            | Description                |
| --------------- | -------------------------- |
| `Authorization` | Authorization token        |
| `Content-Type`  | Media type of the resource |

**Example request**

```bash
$ curl 'http://example.org/api/scoring/code/create' -i -X POST \
    -H 'Authorization: Bearer aa28f6bc-a591-4f06-ae75-57a2560ea2d7' \
    -H 'Content-Type: multipart/form-data; boundary="xa6b1wlKRbKXefcIhyss9PkKedxSEsD4R7Gjsvwc"' \
    -F 'dateFrom=@file;type=text/plain' \
    -F 'dateTo=@file;type=text/plain' \
    -F 'fileName=@file;type=text/plain' \
    -F 'scoringCodeName=@file;type=text/plain' \
    -F 'charset=@file;type=text/plain' \
    -F 'file=@testCode.java;type=text/x-java'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
Date: Fri, 05 Mar 2021 15:16:18 GMT
X-Content-Type-Options: nosniff
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
```

### Getting a scoring code attributes <a href="#resources-scoring-code-attributes" id="resources-scoring-code-attributes"></a>

A `Get` request is used to get specified scoring code attributes.

**Request structure**

The request path contains following parameters:

| Parameter | Description        |
| --------- | ------------------ |
| `name`    | Scenario code name |

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/api/scoring/code/attributes/Simple' -i -X GET \
    -H 'Authorization: Bearer f8242a40-c7f7-445f-a45f-c89daaa735d7'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Content-Length: 167
Date: Fri, 05 Mar 2021 15:16:22 GMT
Transfer-Encoding: chunked

{
  "inputAttributesVariable" : {
    "A" : {
      "type" : "DOUBLE"
    },
    "B" : {
      "type" : "DOUBLE"
    },
    "C" : {
      "type" : "DOUBLE"
    }
  }
}
```

### Getting a scoring code list <a href="#resources-scoring-code-list" id="resources-scoring-code-list"></a>

A `Get` request is used to get a list of scoring codes.

**Request structure**

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/api/scoring/code/list' -i -X GET \
    -H 'Authorization: Bearer 7a1f8c3c-efa6-4e9d-949f-9f7fd8f751f8'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Content-Length: 208
Date: Fri, 05 Mar 2021 15:16:24 GMT
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Transfer-Encoding: chunked

[ {
  "id" : "6029acd65827d2000734937f",
  "code" : "Simple",
  "className" : null,
  "content" : null,
  "validFrom" : null,
  "validTo" : null,
  "userId" : null,
  "version" : null,
  "selected" : null
} ]
```

### Downloading a scoring code <a href="#resources-scoring-code-download" id="resources-scoring-code-download"></a>

A `Get` request is used to download specified scoring code source.

**Request structure**

The request path contains following parameters:

| Parameter | Description        |
| --------- | ------------------ |
| `name`    | Scenario code name |

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/api/scoring/code/download/Simple' -i -X GET \
    -H 'Authorization: Bearer c6f1ddac-2580-4c85-8a3f-d8b00d7b3752'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Content-Length: 27
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Content-Type: text/plain;charset=UTF-8
Date: Fri, 05 Mar 2021 15:16:22 GMT

public class ScoringCode {}
```

### Scoring a scoring code <a href="#resources-scoring-code-score" id="resources-scoring-code-score"></a>

A `POST` request is used to score specified scoring code.

**Request structure**

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/api/scoring/code/score?name=Simple' -i -X POST \
    -H 'Accept: application/json' \
    -H 'Content-Type: application/json; charset=UTF-8' \
    -H 'Authorization: Bearer 1eea1931-9526-477b-a79d-f908e8a3257b' \
    -d '{
  "A" : 2.5,
  "B" : 2,
  "C" : 3.0
}'
```

**Response structure**

Response status should be `200` with following structure.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Content-Type: application/json;charset=UTF-8
Date: Fri, 05 Mar 2021 15:16:20 GMT
Content-Length: 221
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Transfer-Encoding: chunked

{
  "name" : "Simple",
  "beginTime" : "2021-03-05T15:16:05.021319Z",
  "endTime" : "2021-03-05T15:16:05.121444Z",
  "result" : {
    "computeValue" : 1.0,
    "A" : 2.5,
    "B" : 2,
    "C" : 3.0
  },
  "error" : null
}
```

### Scoring a scoring code error <a href="#resources-scoring-code-score" id="resources-scoring-code-score"></a>

A `POST` request is used to score specified scoring code.

**Request structure**

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/api/scoring/code/score?name=Simple' -i -X POST \
    -H 'Accept: application/json' \
    -H 'Content-Type: application/json; charset=UTF-8' \
    -H 'Authorization: Bearer 295ebbe5-f1b8-4f18-9e52-50ca626f7e9b' \
    -d '{A: XXX}'
```

**Response structure**

Suitable error will be returned.

**Example response**

```http
HTTP/1.1 500 Internal Server Error
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Content-Length: 407
Connection: close
Content-Type: application/json;charset=UTF-8
Date: Fri, 05 Mar 2021 15:16:20 GMT
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Transfer-Encoding: chunked

{
  "timestamp" : "2021-03-05T15:16:21.244+0000",
  "status" : 500,
  "error" : "Internal Server Error",
  "message" : "expecting '}' or ',' but got current char 'A' with an int value of 65\n\nThe current character read is 'A' with an int value of 65\nexpecting '}' or ',' but got current char 'A' with an int value of 65\nline number 1\nindex number 1\n{A: XXX}\n.^",
  "path" : "/api/scoring/code/score"
}
```

### Deleting a scoring code <a href="#resources-scoring-code-delete" id="resources-scoring-code-delete"></a>

A `POST` request is used to delete a scoring code.

**Request structure**

| Parameter | Description       |
| --------- | ----------------- |
| `name`    | Scoring code name |

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/api/scoring/code/delete/Simple' -i -X DELETE \
    -H 'Authorization: Bearer 97b340cd-661f-4744-895e-1eef0b8fe4f1'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
Date: Fri, 05 Mar 2021 15:16:25 GMT
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
```

## R Code <a href="#resources-rcode" id="resources-rcode"></a>

The R Code resource is used to manage R codes.

### Uploading an r code <a href="#resources-rcode-upload" id="resources-rcode-upload"></a>

A `POST` request is used to upload an r code.

**Request structure**

**Parts**

| Part              | Description                                         |
| ----------------- | --------------------------------------------------- |
| `dateFrom`        | Date from                                           |
| `dateTo`          | Date to                                             |
| `fileName`        | Name of the file, from which we upload scoring code |
| `scoringCodeName` | r code name                                         |
| `file`            | File from which we upload scoring code              |

**Headers**

| Name            | Description                |
| --------------- | -------------------------- |
| `Authorization` | Authorization token        |
| `Content-Type`  | Media type of the resource |

**Example request**

```bash
$ curl 'http://example.org/api/r/code/create' -i -X POST \
    -H 'Content-Type: multipart/form-data; boundary="TjmDluIjgypr4E9n3AXf1i1J09ibT3d"' \
    -H 'Authorization: Bearer 3b434f7a-f945-4b3b-93c0-62d13f799b9a' \
    -F 'dateFrom=@file;type=text/plain' \
    -F 'dateTo=@file;type=text/plain' \
    -F 'fileName=@file;type=text/plain' \
    -F 'scoringCodeName=@file;type=text/plain' \
    -F 'file=@rCodeTest.zip;type=application/zip'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Date: Fri, 05 Mar 2021 15:17:33 GMT
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
```

### Scoring an r code <a href="#resources-rcode-score" id="resources-rcode-score"></a>

A `POST` request is used to score specified r code.

**Request structure**

| Parameter | Description |
| --------- | ----------- |
| `name`    | R code name |

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/api/r/code/score?name=rCodeTestSetup' -i -X POST \
    -H 'Accept: application/json' \
    -H 'Content-Type: application/json; charset=UTF-8' \
    -H 'Authorization: Bearer eab109eb-68cd-45d8-b9b0-4f46f41aec38' \
    -d '{
  "var3" : 2,
  "var4" : "aa"
}'
```

**Response structure**

Response status should be `200` with following structure.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Date: Fri, 05 Mar 2021 15:17:35 GMT
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Transfer-Encoding: chunked
Content-Length: 334

{
  "name" : "rCodeTestSetup",
  "beginTime" : "2021-03-05T15:16:05.021648Z",
  "endTime" : "2021-03-05T15:16:05.121747Z",
  "result" : {
    "expressionResult" : {
      "rResult" : [ "0.436693928149718", "2", "aa" ]
    },
    "rResult" : [ "0.436693928149718", "2", "aa" ],
    "var4" : "aa",
    "var3" : 2
  },
  "error" : null
}
```

### Scoring an r code error <a href="#resources-rcode-score-error" id="resources-rcode-score-error"></a>

A `POST` request is used to score specified r code.

**Request structure**

| Parameter | Description |
| --------- | ----------- |
| `name`    | R code name |

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/api/r/code/score?name=rCodeTestSetup' -i -X POST \
    -H 'Accept: application/json' \
    -H 'Content-Type: application/json; charset=UTF-8' \
    -H 'Authorization: Bearer b122df2b-81b7-4dd3-abab-1da5281a1d74' \
    -d '{ "var3": AAA, "var4" : "BBB"}'
```

**Response structure**

Suitable error will be returned.

**Example response**

```http
HTTP/1.1 500 Internal Server Error
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Date: Fri, 05 Mar 2021 15:17:36 GMT
Connection: close
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Content-Length: 475
Transfer-Encoding: chunked

{
  "timestamp" : "2021-03-05T15:17:36.060+0000",
  "status" : 500,
  "error" : "Internal Server Error",
  "message" : "Unable to determine the current character, it is not a string, number, array, or object\n\nThe current character read is 'A' with an int value of 65\nUnable to determine the current character, it is not a string, number, array, or object\nline number 1\nindex number 10\n{ \"var3\": AAA, \"var4\" : \"BBB\"}\n..........^",
  "path" : "/api/r/code/score"
}
```

### Exporting an r code <a href="#resources-rcode-export" id="resources-rcode-export"></a>

A `GET` request is used to get specified r code in JSON format. The same format is used while importing codes.

**Request structure**

The request path contains following parameters:

| Parameter | Description |
| --------- | ----------- |
| `name`    | R code name |

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/api/r/code/get/rCodeTestSetup' -i -X GET \
    -H 'Authorization: Bearer edd4aa18-90ad-485d-ae73-10bff8a1a703'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
Content-Length: 274076
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
Date: Fri, 05 Mar 2021 15:17:37 GMT
X-Content-Type-Options: nosniff
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Transfer-Encoding: chunked

{
  "id" : "6029acd65827d2000734937f",
  "name" : "rCodeTestSetup",
  "content" : "[80, 75, 3, 4, 20, 3, 0, 0, 0, 0, -104, 110, 104, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 109, 111, 100, 101, 108, 47, 80, 75, 3, 4, 20, 3, 0, 0, 8, 0, -62, 117, -90, 74, 6, 112, -18, 17, -49, -81, 0, 0, -6, -48, 0, 0, 15, 0, 0, 0, 109, 111, 100, 101, 108, 47, 109, 111, 100, 101, 108, 46, 114, 100, 115, -28, -100, 105, 84, -46, -5, -97, -57, 111, -41, 41, 111, -73, -110, 107, 86, 86, 46, 84, 86, -36, -82, -107, -103, -107, 43, 112, -53, -54, -54, -108, -54, -54, -54, -123, -54, 74, -45, 92, 80, 81, 65, -124, -54, -54, -52, -108, -44, -54, 114, -127, -46, -116, -44, -108, 74, -51, 21, -47, 92, -48, 92, -56, 21, 119, 84, 80, 20, 68, 68, 68, 118, 24, -6, -33, -103, 51, 51, 15, -25, -39, -100, 51, 62, -15, -100, 55, 63, 30, 112, 14, -4, 126, -17, -9, -5, -13, -6, 124, -127, 9, -65, -3, -14, -81, 63, -99, -39, -84, -27, -103, 23, 46, 72, 36, -126, -19, 35, -119, -31, -113, -17, 54, 100, 66, 30, 24, 54, 110, 88, -33, 24, 116, 46, 121, -17, -6, -86, -86, 99, 71, -106, -97, -44, 95, 103, 96, 63, -41, -17, -123, 95, -2, -41, -81, 127, 61, 121, 114, -22, -49, -33, -41, 10, 106, 70, 85, 30, 1, -12, -12, -80, 91, -57, -127, 68, 57, 53, 18, 66, -113, 113, -27, 23, 51, 6, -51, 107, -94, -7, 97, 22, 52, -97, -4, -99, 107, -29, -121, -113, 122, 7, 121, 31, 81, 89, 36, 55, 23, -112, -44, -28, -121, 118, 23, -36, 2, 69, 110, 25, 87, -8, -66, -60, -118, -120, -48, -48, -10, 81, -40, 122, 49, 65, 30, -28, -33, -41, 55, 40, -48, 96, 22, 31, -79, -99, 25, 14, 37, -102, 11, 100, -52, -37, 116, 118, 126, -124, 109, -68, -14, -24, -6, -46, 61, 27, -63, 33, 61, 63, 86, -6, -109, 34, -28, -73, 98, -66, 12, 6, -23, 62, 37, -40, -124, 43, -57, -34, -6, -128, 34, 122, 72, -2, 124, -37, -88, -7, 87, 39, 115, 64, 17, 35, 1, 99, -51, -9, 114, 116, 1, -67, 36, 115, 49, -15, 0, 118, -10, -43, 74, -101, 59, 125, -63, -45, -45, 110, 32, 66, 31, -78, -19, 83, 81, 44, 40, 17, 8, 61, 95, 10, -76, -13, -97, 109, -74, 76, 117, -54, -13, 66, -58, 56, 29, 111, -83, 46, -115, 9, 5, 68, 35, -71, -43, 52, -86, 32, 53, -124, 70, -50, -121, -29, -68, 67, 91, 91, 94, -64, 6, -126, -103, 50, -101, -9, -127, 29, 57, 0, -121, 42, 85, -63, -19, 22, -66, 57, -36, -42, 111, 106, 48, 108, 38, -86, -5, 3, 34, 18, 8, 22, 52, -80, -65, -70, 68, -105, -127, -39, 5, 125, 61, -12, 36, -84, -7, -110, 18, 83, -85, 106, -55, 58, 54, 66, 98, 68, -51, -66, -124, -60, 55, -84, -29, 125, 59, 85, 32, -115, -118, 86, -71, -64, -44, 33, -48, 82, 102, -27, -75, -77, -91, -24, 50, -62, -117, 97, -52, 16, 9, -4, 68, -127, 75, 25, -18, 15, 16, 88, 28, 90, -84, 73, 17, 15, 90, -6, -44, 98, 45, -116, -67, 51, -45, -94, -97, 104, -58, 23, 2, 91, -104, -2, 115, -42, 55, -122, -35, -126, -109, 77, -87, 53, 10, -75, -18, 114, 95, -105, 83, 65, 25, -46, 112, 105, -97, 45, -68, 5, -101, -110, -15, -79, -52, -112, 108, 12, -35, 94, 113, 123, 58, 63, -88, 64, 17, -18, 26, 36, 93, 72, -30, 16, 10, -20, -19, 42, -82, -55, 117, -24, -82, -118, -49, -111, -95, 62, 89, -68, 67, -117, -111, -73, -36, 112, 84, 40, -30, -90, -126, 102, -127, 122, 86, 20, 124, -62, 107, 65, 54, -108, 6, 125, 61, 28, 53, -1, 37, -11, -72, 0, 106, 95, 113, -83, -50, 116, -115, 105, -2, 23, -69, -118, -50, -54, 82, 97, -83, 17, -97, -35, -79, 94, -32, -11, -75, 80, 116, 97, 59, 108, -56, -78, -94, -76, -73, -105, -20, 17, 57, -110, 58, 56, 58, -39, -125, 62, -74, 6, 123, 34, -56, 33, -38, 71, -77, 102, 21, -63, 98, -12, 102, 111, 125, 80, -3, -93, -62, 84, 35, -61, 112, -44, 110, 92, -109, 125, 76, 104, 68, -123, -118, -59, 99, 122, 58, 75, 52, 74, 76, 105, 125, -67, 125, 36, -55, -89, 57, -50, 51, -48, 41, 83, -112, 106, 47, 81, -24, 46, -51, 84, 60, 23, -9, 72, 58, -105, -30, 11, 15, -90, -37, -75, 86, 16, -37, -54, -101, 107, -116, 104, 116, -2, 124, -29, 30, -114, -24, -112, 15, -98, -3, -110, -99, 101, 120, 49, -6, -50, -78, -127, 113, -122, -57, -56, 41, 50, -128, -102, -82, -72, 87, -99, -103, 6, -125, 76, 14, 23, -73, -44, -12, -72, -14, 18, 20, 45, 69, 71, 96, -58, -102, 67, -93, -44, -118, 70, 14, 112, 59, 14, -94, -56, -97, -46, -11, 10, -115, 8, -83, 119, -12, -54, -96, -122, 14, 15, -68, -29, 60, 74, -12, -99, 27, 45, 27, 119, 127, 71, 74, 114, -86, -124, -47, 86, -54, 52, -110, 71, -126, -32, 33, -84, -12, -26, 13, 114, 59, 41, 75, -52, -101, 9, 35, -100, 8, -62, -8, 74, -53, -96, 35, 27, -81, 99, 26, 81, -18, 26, 76, -105, -117, 59, -116, -101, 26, -91, 76, -15, -35, -128, 87, 36, 43, -53, -124, -20, -10, 94, -12, 84, -95, 32, 85, 113, -86, -12, 13, 75, 105, -112, 7, 109, -114, -51, 106, -18, -128, -102, -124, 113, 18, -84, 93, 79, 5, 121, -122, 9, -17, -78, -61, -22, -93, -122, 36, -59, -35, -76, 57, -47, 101, 127, 78, 9, 110, -74, 42, 92, -31, -76, -114, 68, -3, 58, -30, 67, 109, 8, -34, -77, 37, 110, -10, -111, -56, -26, 125, -71, -94, -24, -36, -39, 28, 85, 85, -3, -34, -25, -42, -97, -84, -110, -82, 1, -65, 88, 45, -10, 127, -43, 108, -118, 14, 36, -4, -67, -16, 78, -123, 35, -68, 70, -117, -109, -117, 21, -35, 72, -69, 38, -43, 70, 82, 77, 77, 69, 40, 105, 88, -113, 106, 1, -126, -34, -71, 29, -34, 30, 76, 102, -40, -57, 77, -92, 77, 28, -27, -83, -95, -34, -39, -4, 67, 48, 22, 19, 74, -66, 9, 46, 85, 15, 109, 118, 88, -6, 30, -49, 108, -33, -94, -104, -58, -68, 85, -4, 105, 81, 2, 121, -84, -37, -65, 74, -104, -81, 88, -18, 59, 70, -102, -8, 110, -110, -106, 121, 80, 40, -91, -39, -24, -107, 40, -31, 47, 93, -47, 33, -36, 4, -64, 57, -29, 110, -87, -99, 24, 73, -120, 78, 22, -91, 43, -41, 64, 115, 40, 115, 78, 60, 39, -20, -50, 24, 4, 113, 52, 5, 30, 14, -11, 0, -52, -39, -7, 105, 36, -63, 36, -31, -71, 104, -87, 115, -40, 54, -86, 52, 39, 22, 30, -120, -78, -31, -20, 26, -28, 21, -78, 123, -125, 25, 56, -118, 18, -56, -104, 125, -83, -108, -67, 74, 13, 80, 69, -36, -79, 28, 33, 85, 52, 8, -45, 102, -120, -86, -73, -4, -33, 93, -49, 85, 63, 22, 118, -37, 28, -128, 99, -9, -38, -56, 41, -30, -91, -40, 87, -18, 127, -18, -59, -86, -44, -17, -78, -122, 112, -93, -57, -43, 127, 103, -86, -43, -22, -5, -62, -72, -111, -86, 23, 114, 89, -18, -56, -31, 118, 96, -91, -65, -2, -62, -77, 5, 125, -71, 25, 21, 105, -97, -110, -96, -88, 13, -98, 95, -29, -71, 125, 46, 22, -8, 26, -109, -83, -34, -27, 93, -21, 40, -83, 18, 62, 119, -125, 111, 12, -3, 93, -8, 119, 40, -116, 22, 72, 108, 120, -57, 47, 115, -64, -11, 69, 55, 94, -64, 42, -33, 73, 31, 50, 22, 82, -121, 32, -107, 32, 49, 127, 58, -6, 79, 24, 98, -11, -36, 22, 98, -53, -24, -85, -72, 7, 94, -73, -51, -53, 117, 113, 119, 80, -102, 90, -10, 72, 21, -25, 12, -82, -39, 41, 19, -33, 105, 45, 19, 65, 51, -17, 87, 31, 54, -73, -95, -105, 120, -65, 3, 77, -4, 46, -25, 74, -91, -109, 79, -21, 44, -68, -103, -45, 43, 54, 27, 78, -66, -99, -125, 119, 24, -106, -61, 59, -120, -49, -83, -47, -22, -93, -72, 3, -28, -67, -118, -101, 18, -54, 18, -112, -82, -54, -34, -37, 41, -44, -63, -87, -9, 115, 62, 44, 23, 44, 86, 38, -40, -26, -78, 14, -117, 94, -85, -104, -14, 79, -4, 56, 6, -108, 72, 3, -15, -117, -16, -42, -56, -47, 3, -39, 111, -72, -69, -116, 5, -14, -22, 36, 120, -97, 17, -21, 110, -52, 51, 90, 113, -27, -94, -77, -73, -25, -33, -56, -50, 36, 98, 18, 14, -61, 76, -44, 121, 102, 120, 3, 58, 18, -116, -56, 90, -103, -22, 84, -61, -108, -22, 17, -16, -6, -8, 74, -11, 61, 117, 3, 110, -36, 41, -33, 122, 63, -86, 78, -120, -25, 13, -30, 27, -74, 54, -32, 63, 2, 66, 32, 6, -126, -25, -44, 3, -48, 90, -41, 15, -92, 116, 66, -124, 2, -85, -14, 102, -37, -3, -82, -90, -112, 89, 23, -86, 70, -36, 61, -13, -109, -2, 16, 111, 16, 93, 27, 29, 73, 43, 119, 30, 90, 11, -14, -53, 28, -61, 23, 5, -121, 99, 119, 88, 63, -124, -22, -95, -90, 50, 61, -5, 86, 97, -18, 67, -59, 14, 57, 98, 22, -26, -111, -9, 32, 57, 28, 126, -85, -70, -127, -9, -86, -6, -67, -80, -69, -68, -18, -78, -91, -23, 19, 35, 125, -24, -29, 96, -23, 53, -98, -120, 98, -22, -127, 21, -83, -15, -12, 13, 24, 125, -37, 113, -41, 52, 67, 117, -69, -41, 14, 69, 94, 108, 25, -63, -16, -35, 20, -4, 126, 19, 97, -100, -61, 9, -66, 114, -74, -46, -119, 9, -59, 89, -105, -8, -104, 78, -93, 55, -96, -7, 81, -17, -103, -125, -111, -107, 56, 23, -76, -101, -22, -41, -92, 105, -69, 15, -97, 4, -100, -104, -72, 11, -126, 70, -28, -76, -75, 65, -76, 67, 103, -120, 121, 123, -21, 124, -21, -44, 10, 43, -67, 42, 33, 35, 54, -107, 90, 78, -49, -118, 62, 86, 21, 118, 10, -79, 82, 84, -6, -47, 105, 12, -34, 102, 63, -28, -79, 83, -41, 21, 85, -74, 102, 50, 114, -12, 11, 48, -29, 124, 116, 100, -47, 71, -94, -97, -22, -82, -30, 108, -36, 56, -74, 97, -45, 66, 81, -113, 114, 93, -3, 5, 127, -117, -88, -45, -98, 61, -76, 79, -122, -19, -18, -41, 9, -21, 69, -127, -120, 23, 113, -25, -46, 86, 51, -9, -25, -61, 58, 104, -50, 17, 23, -93, 11, 82, 63, 26, 38, 12, 45, -35, 57, 39, -29, -104, -70, -36, 54, -18, -65, 94, 19, -33, 74, -54, 114, -12, 30, -119, 88, -68, 76, 2, 69, 122, -97, -115, -92, 14, -128, -106, -73, 1, -77, 56, -13, 97, 121, 114, 0, 2, -17, 51, 14, -112, 82, -57, 88, 92, -34, 33, -52, -2, 68, 121, 93, 20, 78, -93, -54, -22, 53, -24, 91, 61, -99, 26, -87, 22, 103, 9, -86, 106, -116, 16, 106, 73, -89, -116, 6, -100, 59, 15, 82, -43, 65, 67, -94, 60, 36, 21, 36, -67, 79, -7, 59, -54, 70, -94, -106, 108, 13, 49, -97, 116, 59, -36, 106, -34, 106, 92, 116, 85, 24, 86, 93, -9, -34, -109, -22, -81, -31, 17, -4, -76, 67, 94, 13, -68, 53, -108, 34, 71, -17, -76, -51, 113, 95, -45, 60, 113, 119, -20, 110, 15, 110, -78, -120, 72, -65, -124, 38, 116, -87, -18, -32, 106, -66, -65, 46, -16, -40, -103, 98, 4, 49, -23, -115, 24, 54, 113, 66, 100, 37, -38, -44, -59, -116, -127, -71, -32, -64, -32, 124, 32, -62, 84, 108, -64, -98, 70, -82, -22, 67, -2, 48, 68, -99, -49, 55, -19, 65, 93, -16, -41, -66, 107, 45, 57, -124, -7, -108, -90, -121, 43, -21, 82, -89, -92, -26, 50, -14, -48, -58, -105, 34, -11, -87, 98, -121, 56, -12, -17, -40, 88, 99, 118, 97, -121, -13, 71, -9, -124, -116, 67, -90, -42, -62, 10, 11, -48, 58, -21, -104, 10, 81, 94, -80, 67, -120, 59, 34, 33, -111, 10, 9, -19, -16, -80, 48, -76, 30, -12, -23, -50, -91, 4, 113, -65, 35, 114, -7, -65, 104, 90, -47, -58, -40, 68, -113, -56, -21, -98, 99, 59, 8, 70, 87, 33, -1, 6, -9, -13, -42, 23, -3, 8, -10, -32, 66, -62, -89, -85, -59, -115, 40, 0, 82, 58, 62, -12, 25, -6, -73, -87, 48, 113, -30, 124, -85, -103, -34, 76, 121, 19, -58, 5, 85, -64, -70, -53, -99, 108, 67, 39, 113, -24, -35, -65, -61, 5, 61, -111, -21, 36, 5, -84, -5, -36, 11, 96, -127, -113, 58, 27, -3, -85, -70, -3, 105, -103, -115, -122, 63, 99, 50, 23, 32, -77, 109, -76, -108, -33, -93, -8, 121, 61, -111, 1, 16, -7, -76, -61, -56, -49, 83, 43, -6, -42, 15, -102, 62, -121, -37, -63, 19, -62, 36, 49, 82, -10, 46, 122, 38, 113, -112, -48, 29, 48, 127, -73, 49, -62, -97, -106, 82, -36, 81, 25, -8, -51, -78, 49, 62, -103, 105, 28, 121, -89, -29, 117, -1, -5, -81, 4, -85, 124, -70, -37, 30, -94, 69, 80, -28, 99, 98, -40, -103, 66, -109, -68, 61, -26, 53, -43, 95, -69, 30, -115, -105, 19, 9, -110, 105, -101, 28, -69, 21, -68, -96, 64, 67, 8, 17, -27, -99, 50, 24, -63, 21, 118, 67, -67, 22, 93, -72, -110, 67, 100, 96, -113, 32, 41, -26, -26, 8, -116, -81, 79, -75, -77, 120, 98, 32, 17, 92, -79, -74, -51, -9, -16, -9, 45, 120, 1, 72, 82, 35, 112, -23, -122, 7, -119, 33, -64, -59, 28, 108, -19, -42, 30, -93, 31, 30, 28, -85, 89, -8, 41, -128, 3, -88, 91, 100, -48, -69, -66, -39, 119, 4, -40, 84, -113, -56, 22, -51, 115, -68, 99, 95, -82, -82, 24, -113, 40, 33, 97, 59, -31, 53, -18, -72, -90, -73, -52, -60, 55, 74, -110, -20, -10, -112, 65, -52, 123, -45, 43, 0, -58, 109, -29, 116, 122, 15, 96, -114, 38, -78, 45, -76, 72, 4, -14, -114, -73, 5, 28, -63, -77, -89, 38, -78, 21, 83, -112, 31, -65, 114, 18, -62, 72, 94, 33, -20, -55, 110, -41, -27, 22, -118, -13, -107, 16, 6, 37, -124, 49, 116, 10, -79, 2, 113, -102, 126, 44, 60, 115, 43, 20, 71, 17, -92, -47, -56, -90, -91, 119, 7, 115, -78, 106, -16, 11, 6, -88, -72, 61, 66, 39, -96, -101, -110, -25, -125, -82, -55, 97, 29, 25, 5, 9, -46, 24, 8, -22, 44, -112, -111, -121, -19, -87, -50, 22, 78, 71, 32, -28, 74, -76, 50, -2, 69, -115, 113, -9, 38, -102, 82, 121, 88, -92, -77, 36, -117, -95, 58, 85, 126, 28, 44, 54, 45, 127, 54, -40, -87, -56, -50, 48, 92, 29, -109, -63, 61, -44, -64, 16, 20, -57, 21, -107, -25, 51, 18, 14, 16, -65, 35, -53, 61, 25, -35, -104, 2, -47, -65, 97, 123, 80, 48, -15, 111, -115, -53, -90, 94, -9, 9, 92, 108, 37, 53, -101, 15, 0, 120, -56, 27, -2, 78, -119, 105, -18, -90, -46, 83, -63, 19, 43, -71, 35, -9, 83, 3, -62, -93, -126, 59, -125, 61, -55, 87, -79, 43, 0, 86, 34, 55, 98, -61, 53, 29, 111, 83, -81, -56, 24, 68, 106, -103, -18, 30, 8, -11, 22, 127, 66, -103, -34, 30, -68, 25, 83, -49, -8, 96, 117, 6, -76, -61, 26, -116, 61, 89, -49, 21, 123, 94, -42, -72, 97, -50, 121, 109, 33, 14, -67, -4, 8, -113, -86, 89, 6, 68, -102, -32, 43, 31, 78, 49, 91, 47, 50, -96, 37, -41, -12, -95, -96, 38, 59, 11, -86, 70, -8, -48, 43, -119, -124, 78, -97, -46, 60, -91, -44, 57, 97, -117, -30, -111, -74, 92, -17, 24, 32, -9, 119, 7, 92, 114, 68, -81, 24, -48, 4, -49, -124, 46, -16, 70, 37, 0, -32, -39, 76, 5, 62, 122, 39, 69, -29, -91, -103, 24, 22, 120, -41, -116, 119, -62, -88, 77, 47, 7, -35, -71, -5, 124, 69, -35, -8, -104, -107, -82, -21, -35, 33, -109, -17, -45, -126, 76, 33, 6, 66, -73, -31, 124, -51, -20, -34, -86, -89, 119, -36, 51, -95, 2, -62, -24, 5, -61, 18, -13, -47, -46, -63, 31, 29, 30, 100, -17, 115, -61, -14, -113, 111, -36, -25, 14, -90, -27, -128, 75, -69, -23, -26, -25, -122, -104, 94, -30, -21, -126, 124, -5, 115, 30, -10, 68, -37, -119, 52, -34, -32, 4, -22, 96, -121, 33, -25, 65, 48, -93, -26, -50, -92, -27, 99, 93, 79, -117, -94, -81, -109, -33, -47, -91, 105, 37, -39, 40, 29, -20, 49, -54, 25, -108, 56, -103, 58, 82, -115, 57, -23, -17, 49, -23, -5, -79, 30, -1, -38, -35, -45, -20, 85, -72, 107, -103, 100, -13, 58, -50, -88, -11, 13, 81, -77, 82, -8, -82, -116, -32, -18, -25, -71, -4, 69, 62, 37, -76, 55, 37, 61, 106, -81, 51, 34, -106, 119, -112, -40, 33, -126, 98, -93, 29, -38, -127, 30, 101, -60, 10, -50, -19, 123, -18, -98, -126, -28, -70, 70, 34, -59, -46, -112, 46, 123, -62, -5, 56, 45, 19, -74, 13, 35, 27, 123, -31, 126, 61, 65, 35, -105, -99, -110, -67, -116, -98, -54, -57, 22, -114, -89, 54, 37, 123, 89, 66, -82, -7, 26, 119, 71, 109, -123, 118, -30, 16, -41, -88, 35, -15, -28, 70, 91, 23, 119, -51, 32, 127, -108, 118, 18, -18, 25, -84, -100, -118, -49, 99, 56, 121, 31, 97, 125, -124, -120, -5, 12, -24, -47, -43, 1, 8, -34, -102, -42, 96, -44, 85, -97, -34, -119, -90, -56, -102, -63, -85, 28, 20, -57, 17, -62, 53, -56, 39, 107, -17, -93, -12, -63, -92, 105, -4, -20, -109, -14, 93, -27, -47, -99, -77, 70, 5, -93, -82, -84, 7, 38, -29, -122, 119, 60, 74, -128, 11, -51, -99, 47, 112, 22, 65, 54, -36, 74, 58, 125, -111, -60, -78, -3, -73, -106, 61, -98, 87, -14, 120, 2, -48, -24, 81, 84, -127, -22, -124, -16, -127, -76, -82, 124, 28, -40, 19, -117, -22, -77, -114, 62, 8, 103, -34, -3, -6, -84, 0, 5, -9, -100, -87, 57, 28, 13, 86, 117, -34, -79, -61, 71, -11, -46, 110, 88, 72, -49, 42, 18, 22, 99, -87, 99, -72, 107, -128, 47, 9, 125, -48, -46, -46, -17, -75, 57, 22, -72, 37, 68, 10, -13, -106, 106, 122, -58, -88, 42, -21, -9, -86, 46, -23, 56, -100, -99, -13, -40, -2, -69, -18, 83, -22, 56, 37, -112, -52, -75, -29, -19, -8, -30, 51, 78, 7, 122, 29, 44, -13, -37, -50, 65, -36, -14, -8, 14, -113, -73, -93, -8, 67, -6, -61, -36, -13, 11, -62, 29, 82, -103, -49, 56, -3, -25, 8, -37, 44, -100, -101, 116, 102, -14, -122, -42, -125, 14, 37, -90, -29, 88, 94, -52, 84, -16, 86, 80, 89, -12, 92, -94, -18, 110, 34, 60, 51, -6, 90, -15, 6, -43, -32, -107, 119, -42, 77, -79, -46, 29, 26, 127, 123, 51, 53, 82, -67, -115, 57, -96, -106, -65, -30, 58, 121, 17, 103, 42, -109, -118, -52, -88, -5, 92, 123, 94, 55, -101, -11, -28, 124, -127, 62, -123, -47, 125, 75, 30, 26, 79, -21, -58, -32, -20, 57, -113, 27, 110, 23, 64, 126, 49, -4, 64, 101, -70, 103, -39, 77, 93, -11, 104, 47, -29, -52, 69, -41, -83, -36, -61, 120, -106, -75, 47, -24, 41, -20, 105, -38, -126, -37, -62, 70, -39, -109, -120, -57, 64, -29, -6, 36, -101, 32, 81, -1, 72, 59, 119, -48, -30, 25, 60, 12, 107, 127, 64, -52, 79, -20, -3, -45, -37, 15, 44, -18, -124, 8, -110, 6, -8, -89, 82, 86, 65, -74, 97, -109, 1, -51, -8, -105, 22, -72, 43, -56, 110, 93, -22, 122, 119, -43, 77, 103, -122, 68, -30, -16, 103, -23, -28, -108, 61, -24, 34, 19, 1, -12, -118, 35, 108, 4, -55, -73, 82, 121, -84, 76, -114, -99, -95, 87, 57, 7, 50, 31, -128, 40, -67, 87, 69, -119, -2, -106, 89, -42, -84, -74, -13, -2, -109, -16, -7, 33, -104, 59, 82, 93, 50, 4, -79, 112, -71, -95, -26, 86, 119, 57, 108, -57, 41, 33, 87, 95, 88, -9, -95, 18, -91, 119, -93, 126, -120, 86, -54, 12, -47, -9, 28, -47, -58, 13, -70, 13, 0, -10, -109, -14, 109, -48, -5, 28, 15, -67, 87, -120, -50, 4, -51, -76, -93, -15, -5, -88, 46, -20, 122, 86, -74, -70, -106, -110, 105, 33, -65, -112, 110, 85, -80, 108, -30, -128, 104, 15, -74, -93, -93, -51, 80, -126, 10, 16, 75, 4, -74, -57, -6, 63, 127, -14, -15, -95, -43, 37, 37, -104, 0, -20, 33, 17, -65, -50, 62, 64, -125, -54, 62, -40, -13, -41, 119, 18, -114, 69, 31, -30, -37, -106, 112, -70, 8, 78, -47, 16, -2, -14, 18, -89, -3, -69, 83, -82, 37, -81, 78, -72, 113, 105, 123, -3, -74, 77, 27, 90, 62, -99, 120, 116, -20, 31, 41, -29, 70, -1, -10, -6, -99, -101, 14, -75, 124, 58, -7, -56, 101, -1, -99, -108, 107, -87, -1, 72, 91, 55, -23, -75, -124, -100, 120, -28, -72, -33, 56, 101, -4, -39, -22, -72, 27, 54, -1, 33, -99, 124, -28, -68, -33, 51, 101, 60, 101, 117, -38, -115, -14, -19, -11, 59, 54, -19, -3, 71, 114, 72, 25, 79, 94, -115, -65, 17, -75, -67, -34, 108, -109, 105, -53, -4, -119, 71, 78, -1, 72, -60, 27, -46, -19, -11, -96, 77, -112, -106, -7, -109, -113, 96, -5, 49, 41, -29, -87, -1, -110, -52, -74, 108, 90, -42, -14, -37, -119, -29, 127, -17, -1, 53, 69, -1, -39, -45, -69, 55, -2, -19, 63, -92, -109, -57, 79, -20, 63, -110, -94, -97, -14, -12, -39, -115, 7, -37, -51, -74, 111, -38, -6, 83, -6, 109, 19, -22, -40, 72, -107, 40, 72, 95, 112, -91, 58, 64, 84, 84, 95, -75, 87, -128, -82, -26, -119, -126, 106, -85, 118, 23, 62, -50, 93, -1, -71, 100, -37, -53, -117, 13, 93, 79, 46, 93, -47, 119, 54, -65, 126, -5, -40, 63, -30, -127, -124, -36, -53, -69, -37, -81, -33, -34, -32, 92, 124, 41, -67, -79, 107, -9, -53, 91, -1, 33, -35, -70, 125, -56, -71, -8, 114, 122, 123, -41, -99, -105, -73, -118, 15, 100, -28, 14, -4, 35, -123, 93, 74, -81, -17, 50, 126, 57, -11, -23, 64, 92, -82, -19, -18, -10, 107, -73, -11, -2, -111, 60, 95, 78, 125, 57, -112, -106, 91, -79, -69, -3, -26, -19, -67, -50, 97, -105, -45, 91, -1, -111, -16, -71, -88, -35, -19, 62, -73, 77, -99, 69, -105, -46, 105, 93, 14, 47, -89, 62, -1, 35, -7, -34, -122, 56, -117, 46, -89, -45, -69, 48, 47, -89, -118, 15, 16, 115, 101, -1, 72, -85, 46, 93, -87, -19, -6, -11, -27, -122, 79, 37, 119, 115, -105, -17, -34, 115, -11, -10, -78, 127, -92, 35, 47, 55, 124, 41, 121, -106, -5, 112, -9, -98, 27, -73, -73, 58, -81, -70, 124, -91, 89, 43, 53, -19, -2, -4, 106, -57, -122, -30, -122, -21, 47, 47, -75, -83, 77, -72, 124, -35, -46, 121, -9, -83, -8, -58, -1, -121, 98, -58, -27, -21, 86, -50, 119, 110, -59, -73, -17, -2, -4, 122, -57, -95, -30, -122, 91, 47, -5, -1, 31, -118, -120, 87, 59, -12, -118, 27, -82, -67, -76, 105, 91, 27, 119, 121, 98, -97, -77, -15, -83, -8, -6, -1, -121, 98, -38, -27, -119, -3, -50, -98, -73, -30, 91, 119, 35, 94, -17, -40, 91, -36, 112, -13, 101, -7, -1, 67, 81, -8, 106, -121, 105, 113, -125, -49, -53, -88, -74, -75, -8, -53, 19, -106, -50, 14, -73, -30, 105, -1, 15, 69, -30, -27, 9, 43, 103, -52, -83, 120, -6, 110, -31, -21, 29, -112, -30, 6, -33, -105, -46, -1, -121, -30, -54, 87, 59, -106, 21, 111, -65, -6, -14, -33, -38, 82, -18, 94, 94, -69, -49, -7, -41, 91, 39, 107, -1, 31, -118, -49, 46, -81, -35, -17, 124, -28, -42, -55, -26, -35, 43, 95, -17, -40, 90, -68, -3, -58, -53, 7, -1, -17, -60, 19, -69, 91, 44, -72, 69, 87, -81, 87, 79, -17, -110, -51, 52, 89, 111, 46, 98, 70, -63, 66, 39, 123, -118, -119, -86, 27, -109, -96, 22, 114, 101, 68, 17, -82, 118, -60, 126, 102, -29, 16, -67, -90, -30, -22, -73, -36, 53, 78, 32, -9, -78, 44, -121, -9, 75, -114, 105, -35, -62, 72, 26, -40, -12, 41, -41, 102, 95, -123, 92, 45, 90, 65, -82, 14, -3, -93, 20, 94, 58, -107, 43, -103, 82, 70, 97, 67, 123, 103, -42, -56, -9, 124, -9, 72, -11, -84, 96, -79, -106, -29, 113, -95, 64, 19, -36, -24, 82, -83, 8, 58, -21, -122, 31, -60, -67, 46, 103, 61, 118, 98, -54, -74, -54, -60, 94, -79, 5, -90, -3, -22, -25, -20, 74, -76, 69, -110, -48, 84, -107, 72, -122, -122, -113, 25, 45, 55, -84, 78, 85, 78, 124, -41, -121, 81, 58, -91, -113, -39, -23, 42, -63, -21, -18, 113, -102, -11, 9, -4, 65, -61, -45, 49, 117, -72, 18, 88, -88, 56, -87, 111, -115, 50, 62, -58, 89, 44, 26, 1, -113, 110, 53, -61, 26, -89, 43, -125, -4, 38, -18, -45, -11, -26, -98, 123, 90, -13, -86, -52, -54, -122, -69, 14, -55, 28, 89, 105, -16, -53, -48, -71, 25, 118, 101, -50, -96, -41, 87, 75, -60, -17, 98, 73, -29, -21, -30, 57, 91, 118, -31, -120, 84, -66, 112, 81, 81, -93, 81, -20, 105, 17, -32, -94, 21, -33, 93, 0, -90, 47, -107, 91, -87, 88, -42, -53, 37, -89, 22, 100, -96, 41, 5, 51, -38, -100, -51, -50, -73, 51, 9, 14, 66, -73, -15, -74, 3, 34, -108, -95, -14, -82, 65, -4, 71, -105, 115, 84, -90, 5, 69, 62, 123, -33, -84, 103, -87, 100, 87, 0, -55, 98, -128, -96, -60, 118, 5, 68, -118, -87, -71, 46, -95, -115, -128, -76, -52, -104, 80, 90, -9, -76, -70, 52, 1, 48, 124, -103, -13, 57, 96, 122, -29, -62, 86, -61, -120, 6, 25, 12, 100, 13, 45, -70, -54, -83, 15, 63, 45, -103, -31, 75, -100, -128, -3, -41, -50, 92, 115, -100, 115, -62, -81, 90, 82, -87, 43, -66, -27, -83, 114, 26, 113, -11, -24, 103, 21, -88, -106, 46, 119, 71, 78, 21, -12, 96, -37, -51, 120, 22, 65, 87, -96, -8, -55, -85, -10, -24, -42, -8, 2, -114, -22, -56, -46, 49, -5, -23, 4, -59, 53, -58, 57, 52, -105, 69, 62, 52, -84, 18, 21, -63, 60, -45, -108, -121, 44, -81, 119, -108, 38, 48, 118, 50, 84, -27, -41, -89, 5, 116, -126, 51, -70, -88, 42, -101, 118, 51, 24, -94, -34, 52, 19, 31, -43, 16, -13, -40, 64, -86, 73, 32, -109, -27, 87, 121, 10, -57, 102, 111, -72, -123, 0, -41, -14, -14, -78, 91, 10, 83, -73, -112, 70, -65, 19, 122, 32, 17, -64, -121, 16, 75, -71, 47, -64, -118, -113, -37, 53, 49, -44, 108, -38, -80, 7, -28, 99, -90, 50, 92, 80, -109, 19, -79, 105, 31, 126, -16, -80, -23, -20, -47, -120, -94, -63, 28, 30, -49, -42, 44, -107, 105, 13, -111, -66, 6, 59, -19, -55, -26, 87, 126, 79, 100, -30, -126, 126, -8, 28, -48, 123, -46, 125, -47, 28, 55, -46, -57, -3, -73, 20, -99, -86, 113, -121, 36, -3, 72, -34, -5, -35, -93, -102, 7, 60, -62, -10, -86, 45, -63, 87, 125, -115, 83, -127, -6, 101, 87, -16, 2, 108, 12, -17, -45, -19, 98, -26, 118, 84, -105, 58, 0, -118, -71, 51, 86, -82, 10, 122, -49, 11, 127, -118, -72, -102, 41, -105, 91, 83, 18, 8, 4, -73, -79, 98, -96, -85, 87, -119, 100, 87, -86, 33, 66, -7, -115, 126, 37, 88, 58, 89, 37, -126, -27, 121, 68, -115, -102, -68, 3, 45, 106, -78, 125, -81, 119, 6, 48, -112, 91, 20, 91, -32, 33, 64, -7, -114, -104, 112, -121, 90, -17, 121, -112, -4, 103, 89, 125, -112, 4, 65, 118, -59, -40, -45, 39, 108, 126, -16, 107, 94, -53, -25, 62, 114, 92, -45, 79, 32, 78, -77, 2, -10, 7, 113, 51, 37, 53, -66, -10, 51, -40, 49, 95, 127, -78, -30, 30, 118, -34, 106, 96, 25, -30, -2, 30, 101, -74, 66, -74, -48, -122, -112, -112, -103, -56, 29, -119, -122, -4, 102, 120, -70, 65, -21, 28, -22, 75, -16, 126, -86, 37, -57, 60, 42, -69, 44, -59, 29, -66, -89, 108, 69, -47, -88, -99, -103, 44, -112, -28, 6, -77, -1, -45, 33, 125, 78, 39, -19, 79, 117, -72, 102, -99, -11, 96, -47, -40, -10, -58, 4, 99, 104, -45, 91, -39, 2, -65, -35, -94, -93, 90, -40, 70, -69, -19, 125, -40, -77, 118, 110, 94, 119, 98, 49, -31, -102, -82, 50, -76, -41, 40, 58, 76, 41, -109, 100, 14, 124, -94, 49, -98, -57, -11, 31, -63, -79, -83, 7, 15, -17, 77, -86, -69, -36, -65, -20, 95, 21, -75, 29, -15, 7, -76, -55, 37, -13, 30, 21, -32, -49, -64, 53, 14, -59, -58, -21, -90, 68, 63, 30, 122, -31, -30, 11, 28, 41, -104, 7, 127, -31, 112, 57, -65, 11, -104, -84, -108, 91, -49, 73, 54, 43, 34, -73, 16, 39, -32, 60, 115, -2, 41, -113, 58, -80, -108, -43, 42, 1, 80, 37, -77, -103, 5, 31, -96, 108, -77, 14, -38, 76, 85, -60, 96, -111, -11, -20, -24, 39, 3, -50, -21, -66, -124, -59, -93, -98, -121, -31, 38, 64, 38, -26, 74, -18, 119, -21, -56, -13, 57, -120, -77, -90, -37, 70, 27, 48, -9, 20, -109, -54, -8, -22, 58, 101, -68, -6, 13, 83, -110, -107, 36, -5, -36, -39, 1, -81, -128, 7, -30, 26, 0, 74, 89, 59, 56, -95, 108, -8, -45, 87, -109, -80, 83, 52, 29, -23, 105, 53, -18, -38, -107, -30, 66, 48, 115, 82, 120, -78, -118, -57, 18, -68, 124, 127, 8, -69, 120, -55, -27, -117, 69, -121, 25, 118, 23, 115, 28, -38, -81, -117, 26, 110, -91, 96, 110, -76, 122, -27, -19, -67, -126, -12, 26, -19, 81, -63, 8, 48, -44, 50, -59, 73, -17, -65, 1, 13, 102, 19, 0, 121, -22, -56, 3, 96, -89, 30, -22, -80, 16, 96, -17, 15, 93, 107, -99, -52, -4, 2, -87, 69, -103, 8, -102, -31, -98, -96, -94, 55, 4, 116, 0, 115, 48, -52, -102, 121, 26, -77, 69, -109, 93, -92, -113, 124, -16, -79, -20, 49, 64, -79, 52, 120, -99, 18, -75, 14, 113, -65, 105, -91, 122, 26, -101, 12, 103, -74, -37, 94, -97, 66, -110, 25, -66, -86, 58, 80, 115, -73, 104, -11, 98, -114, 124, 5, -6, -98, -49, 15, 15, 124, -38, 2, 100, 39, -7, -83, -75, -68, -15, -77, 49, -96, 49, -15, 49, -80, -63, 90, 57, 127, 51, 67, 103, -54, 97, -1, 117, -99, -106, -121, -52, -77, -66, 127, -29, -125, -13, 93, 70, -94, -57, -40, -106, 45, -80, 8, 53, -122, -77, -110, -84, 58, 37, 116, 18, -117, 124, -21, -105, -86, -106, 58, -45, 62, -104, 76, 82, -66, -38, 47, 94, 41, -99, 103, -72, 93, 4, -85, -106, -49, 36, 40, -17, 18, -102, -121, -56, 123, -85, -57, -45, -21, 31, 121, -46, -112, -45, 50, -109, -75, 78, -21, 71, 78, -120, -10, 43, 23, 92, -54, -46, -53, -10, 84, -106, 111, -87, -8, -54, 119, 83, 23, 6, 16, 119, 55, -18, 104, 99, 124, 49, -67, -121, -117, 79, 117, -13, 70, -55, -28, 38, 58, -69, -88, 105, -44, -49, -84, 89, -112, 94, -42, -27, 124, -20, 55, -7, 50, 73, -114, 94, -67, -22, 0, -100, 91, 109, 126, 16, -38, 24, -14, 98, 112, -107, -87, -127, -95, -40, 114, -10, -95, -20, 84, 71, 113, 104, -115, -86, -14, 123, 64, -33, -54, -34, 30, -52, -30, -103, -10, -15, -64, 36, -36, -37, 112, 74, 84, -16, -117, 41, 96, 48, -16, 40, -85, 118, -125, 112, 99, 26, -84, 64, 111, -92, -111, 34, -94, -36, 8, -67, 32, 72, -11, -82, 96, 15, 122, -1, -49, -14, 121, -127, 58, -102, 13, 124, 42, 73, -120, -67, 88, -90, -102, 19, -9, -74, -64, -28, -82, 98, -5, 96, -49, 102, -92, 104, -30, 36, -12, 64, -59, -94, 115, 23, 80, -87, 19, 71, -99, -74, 81, 85, 115, 72, -30, -45, 69, -34, 101, -13, -20, 122, -20, 20, -14, -73, 9, 83, 21, 46, 114, -78, -95, -41, 90, 111, -40, 74, -42, 107, 0, -6, -104, 103, 73, 90, 65, -74, 94, -84, -44, 67, -19, -95, 29, 94, 90, -53, -61, 11, -114, 107, 66, 26, 1, 46, -12, 63, -63, -80, 25, -20, 69, -5, -78, 44, -47, -44, 5, 25, 91, 55, -65, 88, 31, 36, -121, 76, -128, -71, -24, -1, 106, -101, 21, -73, -67, 72, -30, 92, -121, 20, -15, -101, -114, -126, 115, -94, -25, 115, 105, 81, 15, -27, -68, 5, 39, 66, 101, -10, -96, 105, -82, -51, 101, 127, 66, 47, -6, 71, -27, 42, 101, -97, -56, 120, 106, -115, 116, 77, -24, -77, -78, 18, -67, 35, -58, -37, 44, -12, 35, 7, -127, 95, 8, 78, -10, 82, 120, 31, 107, 62, 96, -72, -46, -128, -11, -85, -59, 103, 108, 61, -26, 4, 47, -70, -1, 88, -101, -29, -40, -58, -90, 101, -88, 112, 83, 86, -17, -62, 99, 71, -69, 34, 75, -72, -37, 40, -41, -26, -105, -78, 79, -124, 28, -103, -120, -94, 116, 73, 43, -37, -4, 93, -120, 71, -1, 61, 100, 40, -126, 76, 89, -12, 24, -80, -31, 96, -17, 18, 39, -29, 28, 96, 23, 16, -7, -25, 20, -76, 33, -49, 84, -73, -73, 113, 16, 126, -55, -3, -22, 112, -77, -59, 4, 105, -54, -40, -26, 33, -22, -73, -91, -90, 8, 89, -78, 11, 1, 43, -32, -5, -74, -44, -76, 62, -94, 95, 26, 13, -25, -63, -62, -95, 4, -55, -106, -114, 27, -48, 79, -85, -78, 24, 116, -25, 125, -48, 123, -26, 95, -26, 104, 27, 84, -37, 44, 106, 65, 109, -12, 121, -4, -84, -82, -68, -13, -13, -44, 31, -36, 53, -45, -119, -104, 71, -86, 92, -52, 116, -68, 44, 94, -6, 80, -100, 63, 7, -32, -5, 121, -27, -118, -26, -121, 98, 71, 34, 12, 49, -98, 39, -8, -99, 22, -14, -40, -104, 100, -51, 39, 81, -103, 21, 83, 122, -67, -83, 98, 104, -38, 110, 0, -122, 39, -54, 59, 25, -71, -90, 27, -95, 125, -119, 54, 47, -47, -104, -104, -28, 50, -75, 36, -125, -13, 3, 53, -15, 124, 106, 50, 14, -58, 60, 23, 48, -45, -104, -32, -4, 95, -43, 46, -93, -51, -18, -70, -88, -39, 31, -65, 95, 19, 110, 63, -20, -108, -87, 47, -62, 59, -64, -124, 100, -4, -116, 44, 41, 105, 21, 10, -114, 82, 77, 96, 7, -96, 69, 57, 29, 58, 100, 63, -121, 74, -81, 76, 72, 64, 13, -68, -14, 99, -121, 88, 89, 125, -97, 0, -99, -106, 62, -120, -87, -119, 18, -114, -22, 28, 50, 41, 93, -123, 56, 12, 33, -67, -111, 118, -47, -19, 45, -125, -1, 91, -111, 123, 116, -44, -116, -82, -81, 91, -30, -54, 23, 55, 80, 40, 84, -81, -61, -94, 125, 125, -55, -81, -88, -75, 6, 109, -83, 64, 77, -41, 39, 81, -102, 11, -124, 37, 51, -92, -25, -42, 58, -126, -95, -123, 14, -109, 41, 27, -52, 110, -107, -18, 46, -123, 108, -85, -102, -79, -101, 25, 106, -81, -33, -55, 12, -17, -81, 61, 39, -122, -126, -15, -35, -14, 86, -19, -49, 20, -66, 15, 123, -91, 108, -38, -50, -44, -13, 46, -72, -122, -56, -92, 48, 25, 2, -62, 73, -20, 125, 85, -51, 40, 43, -87, 6, 63, -116, 48, -18, -19, 46, 113, -19, 93, 122, 4, 41, 81, 127, -85, 52, -90, 39, -124, 16, -117, -52, -49, 0, 78, 85, 125, -93, 110, -124, -38, -72, -120, 95, 38, 5, -36, -103, -111, 85, 71, 117, -60, -37, -68, -109, -42, -95, -49, 64, -103, -55, -12, -78, 60, 66, 23, -65, 54, 111, -3, 42, -86, -122, -67, 84, 69, 61, -79, 87, -95, -28, -52, 103, 27, -83, -14, 51, -119, 23, -115, -3, 62, -79, -116, 81, -25, -78, 96, 64, -96, -50, 68, 29, -10, 122, -120, 50, 98, 57, -127, 79, -94, 3, 32, 103, -64, -39, 12, -53, 47, 69, -17, 100, -25, -55, -118, -37, -22, 15, 7, 103, -85, 50, -100, 34, 93, -79, -47, -99, 45, -127, 6, -66, 54, 13, -122, 14, -122, -75, 97, 14, -3, -94, -86, 111, 48, -58, 83, -108, -4, 23, -84, 105, 1, 13, -60, -33, 77, -43, -36, -59, -12, -116, 63, 119, 122, 17, 76, -27, -15, -41, -81, -110, -95, -118, 107, -44, 35, 78, -59, 65, 14, -94, -55, 48, -65, -52, -3, 69, -75, -101, -48, -40, 124, -39, 93, -7, -17, -22, 35, -93, -33, -110, -90, 1, -76, -57, 70, 61, -70, 27, 65, -77, 127, -38, -98, -96, -37, -21, 41, 123, 77, -69, 124, 44, -95, -64, -38, 48, 68, 86, -16, 121, -36, 24, -86, 38, 74, -17, 46, -62, 109, 36, 71, 116, -73, 111, 57, -38, 92, 86, -11, 94, -47, 62, -41, -28, -98, 54, -113, 50, 33, -37, -68, -73, 59, -85, -48, 87, 103, 115, -50, 95, 39, -92, 46, -67, -31, -20, -68, -126, 107, -61, 61, 3, 36, -43, 22, -107, -20, 117, 82, -50, 96, -98, 35, -30, 48, 111, -20, -82, -112, -127, -41, -100, -40, -10, -109, -97, 71, 79, -87, -50, 104, -82, -114, 30, 119, -24, -58, -68, 103, 1, 60, -40, -69, 38, -50, 52, -23, 44, 30, -75, -17, 57, -8, 9, -44, -85, 91, -87, 94, 6, 122, 107, -35, -28, -56, 59, 35, 117, -57, 48, -29, -108, 47, -112, -55, 31, -45, -50, 16, -101, -47, 79, -89, 14, -126, 93, 123, -30, -98, 59, 101, 123, -41, 111, 96, -91, -118, 87, -78, -101, 5, 32, -24, 96, -116, 0, -122, -34, 67, 56, -18, -7, -116, -18, 14, 1, 18, -54, -104, -59, 9, 43, 16, 35, -7, -76, 68, 97, -117, 48, -101, 121, -50, -95, 79, 118, -118, -18, 85, 7, -118, 89, 109, -33, -11, -103, 0, 26, 119, 79, 39, 33, 51, 127, -96, 79, -111, 13, -74, -92, 73, 31, -53, -113, 114, 116, 10, -51, -26, 61, -113, 49, 16, -81, -120, -120, 44, -82, -34, -4, 58, -44, 93, -39, 17, -96, -113, -55, 81, -28, 110, 2, 107, -84, -30, 125, -110, 97, 67, -79, -46, 84, 50, 116, -110, 8, -122, -54, 74, 108, -37, -32, 31, -103, 7, 0, -29, 120, 88, -111, 77, -98, 42, 61, 108, -43, 107, -125, -63, -94, 87, -80, 49, 56, 26, -5, 78, -76, -111, 117, -41, 83, 91, 70, 126, 47, -65, 15, -68, 38, -64, 91, -92, -37, 124, -108, 15, -69, -57, -41, -81, -125, 93, 42, 123, -116, 104, 17, -36, 19, -126, -53, -110, -70, 103, 19, 8, -97, -46, 98, 58, -35, -106, -114, -63, 6, 12, -63, 55, -31, -117, -49, 7, -38, 107, -90, 119, 21, 103, 104, -75, 91, -42, -118, 108, 82, 91, -112, -10, -91, -41, 35, -38, -21, -10, 87, -3, -68, 34, -94, -40, 2, -3, 125, -10, -42, -1, -59, 11, 113, -118, 4, -62, -109, 33, -52, -94, 23, -47, -34, 98, -90, -101, 52, -62, -78, 88, 82, -14, -13, 86, -91, -14, -104, -77, -10, -7, -127, -102, 110, -7, -70, -39, 114, 44, -126, -108, 17, -73, 3, -25, 41, 93, 124, 80, -60, 39, -97, 40, -126, 94, 21, -94, -30, -64, 63, -52, 43, -126, 120, 94, -48, -43, -58, -25, 31, 38, 65, -63, 55, 102, -121, 114, 10, -10, -70, 96, -85, 36, 92, 98, 18, 70, -77, -50, 95, -29, 88, 0, -125, 40, -34, -106, -17, -109, -43, 75, -29, 11, -104, -45, 14, 91, 100, 35, -55, -123, 123, -91, -13, -87, 23, -62, -107, 110, -60, -120, 23, 118, -85, -5, 79, -15, -87, -78, 67, -110, -116, 1, -32, -44, 78, 42, 58, 72, -30, -77, -9, 114, -119, 67, 5, 102, 112, 43, 94, -62, 28, -97, 23, 87, -95, 113, -120, -6, 123, -118, 119, 88, -56, 92, -81, -100, -73, -95, -17, 100, 17, 10, -99, -106, -109, -122, 83, -2, 58, -13, 121, 74, -99, 99, 20, -125, -72, -112, -61, -106, -28, 13, -105, -67, 55, 37, -72, -27, 19, 95, -48, 14, 97, 40, 83, 77, 107, 90, 94, -48, 12, 71, 43, 121, 4, -97, -44, 86, -45, 77, 21, 69, 35, -11, -35, 41, 64, 92, -44, -36, -120, 34, 19, 27, 20, 58, -112, 125, -48, 73, -48, -1, 53, 69, -82, 80, 79, -80, -67, -37, 9, -47, -81, -118, 112, -54, -47, -74, 36, 62, 33, 32, -51, 19, 27, 86, -72, -55, 28, 80, 115, 36, 75, 112, -66, -20, 54, -125, -106, -38, 122, -53, -75, 63, -30, 34, -64, -94, 98, -114, -108, 88, -73, -57, 23, 124, 114, -95, 102, 47, -90, 80, 35, -74, -56, 122, -95, 68, -77, -38, 58, -19, -27, -72, 116, -7, 76, -4, 5, -50, 8, -124, 26, 25, 58, -64, 22, 66, -33, 111, 8, -36, -43, -111, -127, 19, 120, 3, 0, -3, -49, -107, -20, 106, -1, -46, 67, 89, -123, -77, -121, -112, 45, 59, -112, -60, 57, 71, 9, 89, 46, 111, 85, 1, -54, 67, 87, -104, 56, 66, -40, -33, -110, 108, -88, -40, -77, -95, -40, -14, 10, 125, 94, -98, -96, 126, 41, -11, 36, -47, 115, 63, -97, 33, 59, 14, 125, -115, -88, -85, 105, -75, -16, -62, 6, 81, 36, -66, 93, 27, -106, -92, -14, 22, -1, -84, 71, 94, 118, 41, -125, -28, -41, -116, -73, 50, 65, 24, 112, 28, -69, 24, 49, 16, 3, 88, 127, 7, -13, -43, 96, 32, 109, -16, 118, 12, 2, 58, 112, 97, 58, -98, 69, 38, 87, 94, 107, 14, -106, 12, -89, 122, -106, -66, -17, -118, 117, -18, 43, 114, -59, 42, -43, -33, 15, -110, -116, -87, -10, 51, 21, -77, 111, 11, -20, -119, -25, 5, 27, -70, 12, -124, -113, 21, -31, -103, -49, 52, 84, -124, -3, 105, -17, 46, 17, -6, 11, -61, 29, 15, -4, -86, -120, -47, 57, 4, -126, 110, 18, -73, 64, -94, -79, -72, -107, 77, 105, 114, 25, 9, 33, 104, -17, -113, 46, 99, -61, 122, -19, -104, -125, -46, -42, -44, 102, 92, 43, 89, 118, 107, -8, 13, 61, 96, 59, 3, 24, 54, 27, 20, -83, -67, 99, -32, -98, -23, -38, 39, 83, 36, -44, -24, -70, 17, 122, 76, -78, -14, -122, 31, -65, -128, 88, 24, -2, 75, 96, -38, -120, 92, 77, -32, 0, -121, -96, -91, -22, -47, 72, 111, 76, 120, 123, -40, 58, 82, 64, -47, -120, -90, -40, -52, -100, -14, 119, -24, 85, -21, 76, -102, 101, -29, 72, -62, -48, -53, -104, -78, -120, -11, 3, -53, 81, 58, -10, -84, -115, 75, -9, -68, 78, 18, 89, 22, -91, -70, -12, -24, 52, -10, 73, 5, -7, 74, 49, -85, 81, -97, -84, 58, -54, 64, 60, 85, -36, -42, 122, 108, -9, 85, -70, -61, -21, 87, 51, 15, 99, 47, 21, 87, 40, -52, 72, 112, -23, -70, 70, -117, -58, -8, 62, 35, -84, 108, -15, -43, -110, 10, 120, 57, -44, -126, -105, 39, -42, -88, 59, -104, 23, 3, 121, 62, -55, 49, -31, 53, 63, 98, -90, -45, 102, -13, 89, -53, -106, -114, 84, 103, -61, 67, -114, 43, 118, -119, 121, 15, -51, -28, 75, 88, -118, 117, -29, -78, -63, -62, 43, 18, 79, -114, 111, -111, -1, 41, -60, 83, 97, 33, 1, 121, 89, -52, 127, -79, -9, 13, 34, -107, 90, 74, -52, 3, -53, 91, -90, -99, -80, -113, 106, -54, 1, 30, 79, 112, 35, 116, 107, 88, 86, -7, -115, -82, 94, 96, 87, 84, -89, -98, -6, 87, -48, 33, 79, -119, -48, 74, -15, -47, 124, -54, -31, 88, 52, -27, 69, -11, 21, -111, -16, -93, -77, -10, -71, -71, -83, -126, -37, 10, 87, 127, 30, 91, -80, -97, -122, -76, -17, -8, 98, 36, 39, 97, 75, -67, -22, 78, -10, 59, 38, 17, 39, -100, 69, 55, 123, 33, 32, 53, 86, -34, 101, -97, -62, 35, -33, 113, -104, 28, -37, 108, -19, -26, -119, 41, 101, 61, -38, -100, 118, -71, -22, 25, -12, 15, 82, 0, -43, -88, -94, -80, 105, -107, 91, 30, -79, -41, 122, 59, -57, -8, 115, -32, 95, -109, 91, -65, -2, 0, -54, 18, 35, -98, 37, -8, -52, 27, 69, -4, 98, 24, -81, 24, -117, -21, 0, 45, -30, 17, 6, -128, 100, 67, 9, 93, 121, -25, -122, 66, -15, -8, 95, -74, 27, -104, -74, 6, 28, -61, -5, -52, 124, -113, 85, 97, 36, -121, 99, -119, 123, 93, -79, -44, -48, -39, -34, 118, -117, 116, 87, -44, 19, -97, 16, -35, 5, 91, -75, -107, -4, 84, -43, 90, -8, 114, -55, 24, -98, 12, -59, 45, -91, -46, 45, 54, -97, 80, 109, 5, 34, 32, -82, -52, 11, 49, -44, -39, -95, -37, 52, -41, -17, 86, -45, -53, -63, -6, 48, 27, -68, -12, 82, 76, 107, -73, -71, -82, -9, -4, -78, -60, 85, -88, 19, -54, 13, -94, -27, 115, 105, 34, -48, -62, 10, 17, 72, 30, -117, 109, -59, 71, -79, -91, -35, 122, -105, -38, 84, -2, 10, 51, -20, 24, -67, -41, 109, 40, 107, -33, -99, -82, 95, -89, -98, 39, -23, -50, 111, 82, 107, -62, -91, 49, -63, 125, 88, -106, -29, 102, -8, 46, -83, 1, -121, 45, -115, -16, 58, -48, 84, 92, 35, -90, -121, -93, 79, 125, 46, 64, 27, -77, 97, 108, 97, -76, -107, -99, 56, 93, -72, -78, -9, 24, -17, 86, -72, -89, -86, -79, -14, -18, -62, -81, 75, -35, -86, -9, 95, -23, 14, -29, -97, -23, 95, -59, 91, -63, 127, -102, 34, -107, -121, 113, 19, -44, 121, -77, -63, -83, 22, 54, 106, 100, 76, -74, -22, -124, -8, -33, 38, -100, 122, 116, 111, 0, 126, -102, -15, -17, 58, -3, 43, -59, 61, -99, 85, -61, -5, -112, -62, 26, 79, -89, 58, 42, 9, 102, 71, 90, -22, 53, 113, -18, -43, -1, 50, -70, 13, 82, 18, 45, 27, 120, 11, 44, 51, 115, 61, -125, -103, -114, 114, -94, -38, 81, 83, -120, 122, -77, 35, -118, 105, 119, -89, -3, -8, 58, -48, 52, -103, -77, 105, -38, 73, -74, -102, 82, 107, 57, -99, -70, -55, 66, 104, -73, -109, 124, 50, 120, -47, 57, 115, 61, -21, 109, -71, -66, 48, 86, -6, 8, 88, 115, -101, -112, 95, 41, -82, 88, 122, 7, 84, 38, -39, -23, -96, 49, 72, -115, -113, 85, 108, -85, 5, -84, 8, 103, -122, -20, 119, -31, 61, 114, 83, -50, 56, -100, 8, -12, 27, -60, 113, -59, -92, 48, 123, 54, -72, -73, 88, -5, 76, 92, -62, -67, -43, 44, 122, -67, 79, -87, 105, 6, 76, 60, 46, -118, 61, -60, 1, 120, -88, -72, 40, -89, 80, 19, 121, -69, -107, 81, -110, -51, -83, -99, 63, -79, 16, 67, -35, 65, 90, 96, 53, -43, 35, -76, -73, -52, -105, 108, 19, 40, 33, 57, 35, -30, -71, 22, 103, -15, -75, -44, 87, -111, 125, -93, -104, -47, -127, 2, -72, -87, -93, -116, 50, -98, -113, 82, 64, -117, 63, 124, 58, -81, 122, 32, -42, -103, 115, 50, 121, -92, -80, -12, 102, 103, -79, -3, -116, -35, -13, 40, 99, -106, -27, 39, 68, -71, 95, -1, -109, 11, -31, -106, -67, -92, -104, 6, 122, -102, -65, 86, -50, -60, 109, -90, 70, -94, 75, 19, -76, 92, -120, -71, -8, -12, 100, 111, -43, -40, -127, -51, -70, 95, -101, -87, -27, -104, 43, -110, 111, -49, -111, 5, -34, 51, -38, 106, -95, -116, 82, 95, 9, 34, -4, -83, 60, 76, -88, -89, 127, 81, -57, -62, -89, 47, 73, 117, -44, -102, -101, 3, 98, 102, -119, 61, -18, 15, 113, -84, -80, 72, -52, 43, -60, 94, 107, -70, -41, -78, 38, 22, 110, -89, 124, -76, 19, -74, -106, 67, -75, -107, -74, -90, -59, -47, 7, -101, 89, 63, 126, 58, -12, -62, -13, -66, -98, -62, -57, -127, 45, -63, 67, -122, 20, -121, -22, -29, -128, 76, 18, -58, 81, 99, -114, 55, 58, -96, 100, 85, 21, -71, 96, -63, 42, -110, -65, 123, -11, -24, 43, -122, 17, -38, 43, -82, -6, 37, -21, 46, -123, 45, 103, -91, 22, -47, -38, -85, -88, -125, -35, -71, -100, 93, 35, -12, 50, 119, -2, 65, -54, -51, 113, -33, 22, 60, 92, -96, 84, 126, 94, 51, -11, 19, 11, -23, -108, -24, 11, -50, 50, 2, -94, -35, 84, -113, 69, 104, -20, 118, -37, 75, 101, -45, 72, -109, -59, 92, -121, -75, -30, 45, 11, -89, 58, -36, -90, 13, -85, -77, -27, 1, 19, 123, -119, -119, 1, -22, -85, -69, 92, 95, 94, 33, 101, -85, 127, -16, -10, 94, 1, 112, 81, 122, -94, 21, -54, 21, -74, -51, 30, 89, 105, -105, -56, 27, 56, 69, -127, 86, -48, 72, 52, 107, -94, -6, -85, -86, -16, -96, 17, -55, -112, 99, -31, -16, -74, -77, -76, 74, 111, 87, 7, 10, -27, -56, -38, -63, 49, 105, 22, 125, -8, -86, -93, -76, -32, 33, -92, 7, -125, 70, -30, 17, -9, -46, 46, 81, -81, 105, -87, -112, -26, -67, -41, 77, -27, -24, -77, 35, -66, 56, 76, -73, -117, 10, -61, -71, 15, 90, -38, -24, -80, 114, -31, 113, -16, 1, -17, 61, 120, -101, 119, -84, -51, -94, -125, -109, -123, 73, 58, 33, -50, 100, 78, -108, 105, 37, 59, -53, 123, 21, 99, -49, 59, 108, -98, -23, -33, -108, 124, 78, 76, 27, -4, 3, -88, -103, -6, 90, -8, 30, -101, 23, 35, 57, -42, -18, 90, -107, 50, -79, 81, 85, -21, 93, -78, -73, -79, -6, -87, 77, 47, -21, 111, -109, -43, 65, 87, -67, -34, -14, 15, -53, 114, 69, 7, 75, -123, -49, -45, -128, -22, -59, -100, -103, 60, -15, -36, -61, -30, 37, -59, -28, -5, 30, 121, 66, -63, 118, -32, -82, -4, -12, -63, -112, -38, -101, -118, 26, 101, 31, -94, 68, -11, -71, -55, 71, 85, -124, -11, 59, -119, -56, -91, 27, -18, -42, -124, -74, -65, -20, 1, -76, -18, -27, 86, 5, -43, 109, 45, 39, -2, -52, 0, -5, -120, 117, -63, -97, 86, 117, -16, 56, 59, -14, -120, 59, 33, -78, -31, 116, 15, 0, 76, 85, 30, 92, 22, -64, 113, -49, -13, -52, -1, 25, 10, -72, -43, 39, 2, 55, -122, -73, 112, -118, 121, -102, -12, 43, -48, 61, 2, 96, -20, 95, -48, -93, -22, 101, -60, -59, -104, 119, 64, -7, -78, -72, 51, -63, 127, 7, 103, -47, 111, -32, 118, 1, 69, 127, 78, -127, -38, -122, -2, 33, 66, 120, -24, -98, -8, -95, 84, 10, -112, 62, -12, 98, 48, 7, -66, 88, 54, 126, 111, 79, 44, -13, 53, 110, -25, 36, -76, 29, -74, 6, 80, 89, 29, 83, -17, 49, 99, 55, 112, 65, -12, 90, 27, 21, 102, 100, -98, -57, -31, -101, -75, 105, -31, 21, -29, -99, 105, -127, -31, 30, -49, -34, -119, 28, 51, 4, -92, 84, -8, -51, 122, -77, 38, -36, 93, 119, 98, -14, -3, 82, -117, -123, -99, 119, 113, -12, -82, -114, 45, 73, 51, 21, -113, -109, -84, -40, 28, -9, 12, 46, 22, 51, 73, 42, -50, 3, 15, -50, 40, -2, -124, 38, 71, 30, 32, -33, -123, -54, 95, 77, -64, -127, 57, -72, -122, -121, -43, -80, 81, 11, 50, -21, 63, -125, -61, 15, 83, -2, -60, -30, 101, 43, -2, -80, -77, -123, -115, -52, -53, -18, 61, 7, 96, 7, -71, 70, 44, -75, 117, -10, 14, -78, -67, -74, -90, -4, -39, 21, 40, -73, -34, -16, 107, -37, 52, 12, -11, 84, 122, -91, -86, -107, 98, 4, 31, 62, -5, 122, -54, -83, 66, 47, -115, -121, -98, -33, -128, -6, 21, -70, 77, 112, 22, 127, -58, -8, 42, -59, -102, -86, -6, -115, 28, -68, 42, 61, 78, 108, -73, -65, 84, -99, 75, -66, -110, -123, 107, 76, 109, -48, 102, 9, -93, 42, -61, -104, -80, -101, 101, 45, 63, 97, -112, 38, -12, 17, 58, 12, -86, -12, -82, -14, 96, 50, 24, -21, 56, 65, -46, -112, -87, 69, -77, 36, 103, -107, -14, 91, 31, -80, 38, -48, 118, 57, 114, 69, -17, 73, 115, -68, -119, -89, -51, 77, -2, -30, 127, 69, -117, 15, 90, 22, -28, 45, -46, -7, 125, -110, -82, -31, 31, -110, 86, -70, 106, 105, -30, 81, -5, 64, 112, 73, 71, -76, 38, 85, 121, -91, 123, -13, 25, -80, 11, -17, -68, 74, 121, 66, -108, -52, 112, -65, -108, -106, 51, -41, 43, 57, -21, -11, -106, 72, 125, -2, 37, -32, -67, -70, 78, -22, 6, -59, -39, 75, -122, 44, 91, 87, -28, 30, 42, -92, 92, -3, -101, -108, -50, 114, 51, -30, 92, 84, -36, 80, 65, 108, 75, -114, 41, -38, 73, 14, 67, 85, -94, 107, 122, 54, 47, -28, -91, -100, 18, -13, -39, 77, -126, 109, -40, 39, -85, -98, -52, -63, -69, 5, -9, -84, -35, -88, -103, -46, -77, 100, -9, 36, 106, 69, -7, -62, -9, 9, -79, -95, 105, 101, 81, -7, 39, 46, 62, -18, 32, -18, -90, -34, -96, -101, -67, -86, 122, 91, -87, -70, 60, -75, -118, -87, 18, 14, -27, 1, 15, 65, 98, -60, -79, 2, -62, 125, 78, 111, 56, -74, -66, 68, -28, 27, -114, 82, -97, 111, -48, -15, 98, -98, -93, 8, 2, -63, 25, -108, -93, -94, 71, 75, -26, -36, -121, 61, 100, -97, 85, -18, -34, -30, -66, -20, 30, -104, -50, -95, 41, -81, 81, 20, -66, -25, 37, 79, -31, 37, 97, 95, -45, 57, 7, -107, 76, 75, -65, -53, -21, -67, -73, 80, 44, -55, 87, 61, -87, -98, 17, -3, 91, -51, -103, -4, -121, -100, 47, -58, -42, 114, -71, 64, 50, -84, 108, 27, 40, 83, 119, -120, 104, 100, 34, 80, -36, 51, -41, -21, 102, 111, 93, -118, -71, 118, -123, -78, 62, -86, 35, 109, 80, -19, -125, 40, -80, -70, 117, -47, 57, -48, -85, 56, -69, -77, 31, -110, 115, -107, 62, -47, -16, -70, 106, -87, -107, -65, -8, -21, -64, -117, 38, -48, -20, 83, -97, -89, -122, 11, -42, -61, -78, 69, -13, 50, -88, 77, -36, 20, 125, 13, 15, 93, 66, 94, -100, -66, -7, -114, 92, -29, -99, 105, 127, -101, -123, -41, 61, -32, 125, 31, -15, -2, -21, -94, -3, -4, -35, 50, -64, 7, 15, -49, -88, -13, 42, 98, 86, -111, 91, 66, -104, -73, 29, -14, -88, -64, -35, 117, -117, -84, 18, 114, 56, -90, 81, -35, 43, -78, -102, 125, -84, 14, 121, 90, 62, 48, 28, 113, -126, 74, 40, -109, -68, 41, -65, 103, -110, 28, 60, 15, 83, 63, -77, -46, 88, 10, 62, 71, 63, 9, -101, -86, 62, -128, 30, 30, 111, -116, -46, 59, 28, 106, 109, 72, 65, -49, 21, -68, 32, 103, 87, -9, 98, -33, 69, 29, 81, -2, 40, -73, 82, 31, 6, -65, -110, -53, 10, -25, -78, -126, -8, -102, 95, 3, -73, -62, 69, 16, 49, 111, 107, -63, -59, 17, 42, -53, -77, -49, -36, -128, 28, -2, 84, 120, 27, -6, 13, -2, 14, 56, -69, 92, -29, 28, 61, -67, 103, 70, -61, -86, 6, 69, 68, -96, 4, 81, -51, 22, 123, -121, 127, -104, 9, -6, 46, 114, 82, -68, -60, -46, 22, 106, -77, -45, -90, 72, 59, -32, 62, -11, 68, 102, -122, 53, 4, 39, 124, 29, -37, -110, -108, 33, -128, 92, 107, 84, 87, 13, 31, 85, -41, 94, -28, -106, -115, 127, -33, -87, -117, -93, 44, -8, -12, 92, 88, 71, -97, 55, -102, -8, 25, -98, 38, 115, 31, -21, 78, -57, 71, 24, 117, -128, -87, 103, -123, 9, 1, -51, -124, 103, -59, -73, 59, -73, 102, 44, -56, -43, -49, 6, 23, -71, 119, -7, -63, 27, 106, 126, -91, -76, 16, -19, -80, 3, -44, 79, 86, 11, 94, 28, -117, -123, -84, 89, 50, 94, -53, 77, -119, 95, 23, -15, -92, -107, 29, -96, -89, 6, -30, 29, 11, -113, -71, 103, 59, -127, 77, 36, -114, -43, -32, 17, -67, -59, -40, 26, 104, 102, -8, 68, -75, -11, -88, -4, 85, -7, -33, -86, -55, -102, -23, -31, 31, 121, 48, 127, -43, -62, 36, 71, -81, -97, -9, -21, 23, -125, 5, 109, -4, 98, 29, -93, -26, 70, 101, -74, -72, -5, -57, -39, 116, -46, 110, 56, 25, 27, 22, 69, 83, -8, -123, 116, -128, 25, 53, 104, 56, -84, -5, 61, -60, -54, -62, 41, 115, 30, -19, -17, 65, 100, 0, 108, -82, 67, -40, 107, -127, -6, -44, 49, -61, 5, 51, -115, -126, -61, -15, -116, -88, 47, -17, -23, -53, -34, 100, 16, -122, -33, -104, 34, 31, 31, 32, 50, 70, -26, 123, 74, 27, 14, 79, -97, 116, -24, 85, 61, 99, 34, -67, -125, -82, 92, -10, 105, -32, -108, 18, -52, -88, -22, -91, 8, 6, -97, -63, 20, -82, -99, -76, -98, 48, 22, -98, 30, 122, 10, 126, 98, -112, 58, 87, 37, 17, -74, -17, 54, 68, 45, -9, -2, 6, -124, 30, 124, -59, 93, -3, 26, 78, -108, -2, 82, 117, 29, 114, 15, -9, 22, -76, -16, 51, -122, -103, 64, -73, -69, 55, -83, 87, -2, 22, -83, 9, 113, -49, 29, 55, 51, 85, -3, 102, 60, 21, 117, 31, -34, 88, -66, 15, -18, 55, -105, 123, -56, -53, 42, 92, 35, 24, 34, 60, -79, 73, 68, 117, -70, -107, -114, -24, 109, 4, 35, -90, -91, 117, -114, 52, -41, -39, 15, -80, -34, -63, -80, -7, 49, -53, -44, -29, -80, -39, 74, 70, 109, -78, -114, 19, -64, 52, 31, -26, -50, -123, -34, 86, -10, 91, 26, -124, -12, 127, 100, -2, -24, 36, -71, 58, 20, -14, 94, 93, -13, -46, -123, 109, -122, 98, 63, -8, 67, -61, 123, -6, -109, 125, 118, -30, -49, 85, 85, -70, 108, -85, 106, 15, 42, 30, -102, 61, -12, -65, -6, -89, -127, 5, -49, 0, -65, -126, -4, 13, 35, 93, 87, 99, -123, 11, -55, 67, 6, -106, -72, 70, 74, 0, -46, -122, -37, -98, -17, -88, 8, 23, -103, 103, 117, -13, 104, -79, -89, -68, 4, -47, 117, -23, 25, -118, -78, -53, 3, -92, 79, -50, -119, -121, -32, -43, 33, -111, 66, 111, 15, -38, -46, -99, 44, 37, -95, 72, -32, -63, -86, 116, 74, -126, 34, 34, 22, -70, 15, 13, -23, -127, 103, -27, 3, 121, 22, -90, 118, 37, -2, 9, -50, -103, -112, 17, -68, -61, 116, 92, 29, -111, -110, 37, 101, -59, 45, -117, 55, 46, -12, 24, 125, 54, -98, -45, -13, -2, -111, -100, -83, 126, 59, 15, 36, -82, 117, -7, -85, 96, 103, -114, 110, -46, 102, -69, -61, 124, 70, 55, -33, 95, -45, -71, 55, 76, 5, 95, -52, -72, -113, 75, 125, 102, -126, 94, -76, 125, -99, -52, -55, 117, -70, -12, 12, 113, -79, 112, 32, -28, 98, -24, -100, 5, 16, 54, -80, 88, -21, -47, 82, -95, 75, 7, -5, 112, -26, 56, 11, -106, 95, -51, -23, 69, -95, -33, -96, 77, 32, 14, -74, 74, 61, 38, -96, -102, 56, -47, 34, 49, -47, -24, 66, 50, -66, -58, -52, 86, -46, -19, -67, 7, 23, 45, 65, 4, 105, 88, 79, 97, -70, 94, -105, 45, 108, 37, -100, -41, 2, -2, 43, -15, -99, -48, -71, 41, -16, 6, -105, -37, -94, -27, 64, -51, 43, -115, 12, -27, 91, 58, -66, 84, 44, 26, -67, -46, 43, -8, -50, -50, -68, -111, -64, -128, 109, 28, -80, -74, -115, -71, -48, 94, 21, 49, -52, -116, 39, -29, -31, -42, -22, 23, 127, -67, 72, 9, 35, 126, -64, 4, 102, 1, 103, -39, -103, 7, -103, -43, -5, 62, 54, -50, -67, -93, 101, -106, 9, -92, 24, -74, -70, -123, 61, 28, 9, 90, 61, 76, 106, -22, -50, -107, 87, -28, 4, 15, 121, 5, 80, -25, -93, 22, -110, 0, 115, 53, -20, -113, 96, 87, 103, 87, -5, -59, 119, -108, -5, 62, 53, 39, 70, -27, 92, 60, 39, 17, 34, 78, 97, 47, 122, -63, 78, -108, 84, 78, -124, -102, 114, -70, 71, 126, -9, -74, 11, -39, -25, 69, -76, -13, -23, 70, 90, -85, 66, -50, -123, 54, 5, 17, 33, -13, 49, -83, -76, 84, -73, -128, 13, 38, 87, 124, 70, 12, 90, 102, -16, -67, -125, 10, -31, -102, 85, -67, -46, 89, 67, -67, 81, -36, 122, -34, 26, 123, -126, 87, 72, 103, -98, -121, 91, -113, -32, 41, 12, 98, 82, 51, 61, 68, 78, 41, 115, 81, -27, -43, -51, -38, 38, -90, -106, 101, 9, 69, 89, 32, -54, -56, 118, -37, 72, -81, -10, -107, -18, -103, -3, -113, -26, -88, 97, -30, -53, 62, -116, 43, -42, 63, 44, -39, -114, 123, 103, 31, -117, -62, -32, -101, -111, 93, 115, -110, 97, 24, -83, 28, 48, 52, -12, 4, -10, 87, 63, -81, 1, 83, -103, -92, -51, 111, 86, -124, 97, 79, -47, 24, -62, -59, -49, 121, -87, -97, 51, -53, -84, 33, 47, 109, 43, 37, -118, -90, 39, 75, 33, -43, 21, 127, -15, 114, -54, -70, 33, 90, 0, -68, -57, 58, -74, -7, 39, -48, -17, -68, 80, -30, -107, 75, 56, -112, -12, 29, -128, 89, 24, -28, 24, -126, 4, 14, 65, -102, -41, 116, -119, 27, 107, -45, -89, 47, 39, -79, -29, -25, -70, -62, 6, 123, 64, 60, -15, 21, -59, -97, 51, 39, -123, 31, 4, -114, -103, -75, -102, 48, -61, -22, -24, -21, -12, -81, 47, -102, -67, -61, 6, 47, -54, -82, 93, -64, -89, -90, -108, -71, -93, -8, -113, 83, -31, 14, 15, -101, -100, -8, -121, 28, 14, 106, -122, -17, 55, -78, -87, -101, 88, 16, 79, 91, 76, 58, -105, 26, -123, 106, -57, -90, -123, 115, 34, -82, -104, -50, 62, 64, 12, 67, -34, -74, 103, 89, 11, 108, -84, 81, -118, -69, 123, -51, -31, -27, -100, -64, 65, 87, -26, 107, -12, 36, -51, -54, 31, -31, 96, -26, 106, 81, 88, -29, 47, -11, -30, -97, -48, -5, 9, -17, 31, 31, 118, 49, -118, -111, 127, -90, -32, 108, -109, -7, -39, -94, 71, 19, 71, -128, -11, -112, 79, -26, 51, 97, -76, 70, -25, 12, -105, -47, -45, 90, 124, 95, -112, -87, -11, -101, -71, 86, -36, 46, -92, 113, -73, 77, 120, -76, 39, -111, 18, 65, 123, -26, 104, -57, -7, 2, 68, 15, -57, -16, -57, -119, -104, 83, 66, 103, -31, 91, -15, 35, -8, -36, 43, -43, -39, -95, -40, -116, -111, 102, -12, 17, 77, 90, 90, 86, -116, -33, -117, -50, 27, 64, -10, -86, 57, 71, -22, 15, 93, -31, 47, -47, 117, -60, 117, -64, 116, -85, -7, -18, -52, -101, -60, 32, -113, -120, -23, -107, -21, 116, -3, -84, 21, 117, 66, 98, 73, -122, -62, -86, -47, 50, 49, -40, 9, 127, -106, 108, -118, 54, -25, -92, -50, -23, 98, -33, 47, 85, 2, -89, 117, -95, 110, -90, 102, -82, -117, 47, -75, -29, -112, -41, -47, -62, 71, -113, -128, -1, 6, -20, -116, 58, -103, -76, 100, -120, -72, -98, 98, -49, -29, 23, -121, -38, -64, -111, -47, 119, 118, -112, -89, -6, -38, 77, -70, -112, -11, 15, -40, 89, 107, 54, 64, 28, -58, 38, 70, 6, -10, -90, 59, 127, 50, -110, -45, -112, -3, -21, 51, -33, 69, -23, -77, -30, -116, -25, 111, -10, -67, 17, 4, -17, -67, 18, -30, 23, 58, 103, -17, 101, 110, -83, -55, 53, 106, 92, 62, -21, 58, -52, 64, -40, 89, 35, 79, 23, 18, 15, 13, 59, -86, -38, 70, 73, -78, 68, -30, -7, -96, -17, -88, 15, 101, -1, -124, 51, 103, -55, -19, -114, -75, -63, 7, -2, 51, -99, -63, 34, 58, -79, 102, 56, -127, -24, -8, -105, -66, -101, -126, -75, -128, -19, -110, 87, 52, 39, 98, 69, 120, -5, 26, -29, -72, -42, -81, -127, -105, -123, -86, -47, 76, -110, 124, -29, -16, 61, 76, -13, -61, -102, -82, -94, -25, -48, -5, -47, 13, -71, -29, 6, -18, -126, -63, -16, -75, 98, 39, -39, 7, 58, 109, 38, -102, -109, -44, -70, 115, 9, 29, 106, 51, -71, 73, 120, -122, 23, 31, -11, 13, -43, 64, -101, 117, -90, 110, -106, 107, -119, -60, -50, -14, 103, 113, -21, -126, -81, -41, -44, -86, 66, -43, 71, 71, -81, 106, 65, -3, 31, -126, -91, 36, -117, -22, -44, -80, -80, -5, -118, 70, 76, 62, 75, 87, -99, 9, -90, 114, 41, 105, -90, -97, -52, 17, -38, -83, 1, -47, 50, 37, -36, 92, 83, -19, -59, 12, 108, 98, 25, 68, -48, -124, 38, 94, 105, -67, -27, 11, 66, -31, 13, 120, -90, -109, -14, 92, 13, 15, 113, 21, -13, -100, 102, 29, -56, -81, 10, -105, 111, 46, 74, 56, -108, -11, 124, -93, -19, 45, -48, -28, -14, 89, -112, 118, 2, -110, -49, 74, -26, -2, 86, 8, -19, 53, -7, -122, -17, -47, 19, 39, 39, -31, 60, -29, -128, 91, -29, -90, 34, -49, 2, 127, -96, 26, -86, 58, -32, -98, 36, -69, -107, -94, -31, 62, -7, 80, 82, -6, -89, 20, -23, -33, -58, 63, -112, -119, 31, -51, 110, 80, -114, 97, -92, 114, 32, 62, 80, 49, -25, 55, -15, 111, -115, 113, 73, -111, 11, -44, 14, -78, 125, -46, -82, -43, 25, -22, 14, -28, 90, -31, -54, -31, 46, -19, 72, -60, 17, -110, -86, -59, -14, -53, -15, 77, 5, 67, -115, -109, 7, 27, -117, -25, 12, 105, -95, 14, -21, -84, -73, 97, -1, 96, 30, -128, -98, -106, 56, -47, 33, -47, -65, 50, 116, -58, -78, -118, -84, -34, -48, 50, -65, -43, 3, 54, 43, 7, -36, 90, 42, 96, 29, -107, -40, 97, -122, -7, -97, -22, -57, 57, 25, -123, 107, 98, -80, -2, 117, -4, -16, 81, 55, -43, 10, -5, -32, -39, -88, 83, -35, -18, -85, 99, -112, -40, 63, -100, -50, -24, 94, -82, 90, 29, 44, -103, -40, 115, -125, 57, -128, -60, 6, -106, -46, -96, 122, -71, -88, 77, -40, -41, -108, 107, -33, -30, 72, 4, -12, -99, -48, -91, -69, -82, 84, -21, -104, -64, -76, 115, -98, -39, 114, -25, 30, -77, 121, 11, -60, -126, 40, 108, -61, 26, -52, -84, 107, -121, 96, -56, -50, 48, -55, 63, -38, 47, 79, -66, -110, -89, 59, 113, -120, -69, 47, 6, -38, -108, 80, -99, 106, -100, -56, -6, 107, -48, -39, -44, 77, 117, -49, 103, -2, 40, -35, 61, -108, -16, 66, -60, -49, 52, -110, -101, -40, 79, -73, -19, -77, -107, 20, -57, -22, -7, -7, 18, -49, -25, 123, 103, -10, 93, -61, -93, 65, 125, 127, 77, 32, -90, -9, 76, 88, -18, 37, 78, -87, 67, 123, 12, 71, -85, -89, -4, 21, 33, 36, -102, 0, -34, 38, -118, -17, 8, -109, 94, -18, -61, -51, -81, 50, 89, -123, 123, -90, -7, -36, -85, -70, 90, 29, 6, -17, 95, -86, -115, 102, -67, -36, -50, -39, 91, 45, -22, 30, -31, -114, 54, -16, 77, 55, 119, -75, 81, -65, -115, 35, -4, -44, -6, 113, 112, 15, -12, 105, 126, 71, 126, 16, 22, -22, 75, -49, -10, -128, 76, -120, 30, 71, -113, 104, 76, 24, 83, -90, 80, -74, -57, 5, -55, 65, -115, 31, -99, 76, -81, -114, -1, 31, 73, 43, 105, 34, 12, 38, 21, -10, -89, 57, -73, -69, 77, -5, -50, 13, 10, 25, 22, 49, 40, 51, -39, 50, -28, -95, -58, -8, 26, -128, -22, -100, 23, -103, -17, -62, -5, 45, -58, 84, 100, -42, 30, -9, 74, 34, -82, 76, -102, 112, -28, 36, 127, -44, 77, -42, 126, -86, 35, -44, 6, -13, 17, -11, -41, 88, 50, 68, -48, -44, 104, -8, 114, -30, 70, 30, -14, -81, -59, 127, 101, 44, 30, 42, 105, 106, 13, -33, -70, -7, -83, -4, 52, 103, -57, -60, -77, -123, -75, 8, -110, 106, 43, 15, -11, -35, -125, -113, -69, -116, -81, 39, 35, 120, -82, 79, 19, -94, -30, 57, 43, -48, -38, 28, -11, -122, -100, 25, 87, 107, -119, 46, -70, -53, -47, -79, 33, -45, -100, 51, -1, 45, 46, -36, -45, -51, -92, 64, -76, 1, -15, 75, -48, 53, -80, -109, -120, -29, 34, 9, 10, 84, 124, 103, -12, 88, -12, -22, 124, 112, 23, 87, -29, 101, -85, -60, -1, 38, 115, -57, 27, -14, -11, 105, -45, 113, -117, 12, -11, 27, 100, -58, -110, 69, -109, -106, -93, 95, 50, -20, 91, 127, 32, 40, 11, -2, -100, -100, 30, -42, -80, -85, -51, -15, -109, -11, 87, -58, -18, -111, -78, -7, 47, -91, 119, -104, -6, -126, -84, -25, -44, -80, 95, -104, 120, 14, -40, -82, -29, -108, 56, -121, 127, -124, 35, 22, -83, 77, 39, -42, -82, 63, 43, -23, -2, -103, 125, -74, 64, 102, 100, -81, -89, -114, 13, 0, 22, -21, -75, 19, -111, 66, -9, -46, -47, 102, -33, -17, -70, -69, -128, 104, -18, -65, 70, 34, 127, -55, -69, -75, 35, 17, -78, 40, -92, -113, 68, -125, 85, -122, -51, -81, 25, 54, 85, 101, 67, 3, -31, 108, -24, -84, 3, -17, -121, -103, 30, 42, -120, 110, 26, -98, 53, 87, 47, 69, 60, -27, 29, 1, 108, -90, 122, 91, 119, 125, -2, -31, -45, 49, 62, -76, 20, -11, 65, -75, 30, 99, 42, 2, -9, -15, -87, -43, 21, 19, 57, 66, -59, -13, -119, -43, -123, -68, 63, 96, 118, 29, -49, -120, 97, -124, -128, 26, 92, 6, -96, 50, 116, 120, 58, 34, 28, 104, 99, -58, 1, 34, 8, 19, 64, -38, 7, -117, 63, 12, 23, 106, 66, -27, -71, -118, -101, 26, -71, 93, 47, 126, 108, 125, 83, -50, 80, -29, -116, -107, -17, 84, 54, 43, 97, -114, 88, -85, -30, 41, 118, 65, -110, -29, -100, -13, -85, 35, -102, -57, 18, 30, -81, 90, -80, 93, -34, -104, -122, 29, -115, 71, -71, 21, -43, 59, 23, -14, 44, -103, -37, 96, 99, 48, 54, 120, -63, 24, -15, 102, -56, 5, 8, 22, 47, -76, -6, -113, 58, -117, -10, 21, -102, -119, -107, -53, 9, 103, 84, 81, -61, 31, -8, 32, -117, -17, 44, -103, 59, 109, 37, 56, -72, 71, -44, 61, 12, 95, 49, 123, -111, -60, 15, -52, -19, 115, -70, 97, -19, 5, 106, -81, -106, 116, -9, 90, 67, 36, -2, 121, 114, -30, -124, 7, -49, -126, -95, -97, -53, 53, 4, 99, 39, -52, -72, 81, 33, -121, -121, 88, 95, 49, 28, -107, -118, 49, 124, 18, -101, -115, 28, 125, 23, -93, 11, -119, -18, -116, 61, 15, -21, -74, 91, -113, -19, -108, -65, -127, 95, -47, 102, -106, -58, -104, 15, -126, 112, -16, -91, -17, 69, -125, -44, -13, -96, -5, -35, 31, -54, -2, 96, -12, 111, 51, 101, -121, -71, 54, 108, -99, -48, -27, 29, 86, 97, -100, 32, -52, -29, -47, 37, 57, 118, 74, 15, 18, -55, -21, -104, -48, -61, -27, 96, 92, -32, -98, 125, 4, 9, 79, 52, -10, 36, 73, 23, 61, -89, 23, -12, 13, 54, 8, 120, 108, -40, 115, -31, 85, -39, 109, -27, 7, 80, -23, 104, -125, -18, -68, 59, -39, -25, -122, -41, 73, 81, -98, -73, -60, -128, 51, -123, 25, -104, -81, -84, 10, 62, -43, 81, 57, -51, -51, 89, -75, 0, 7, -43, -116, 85, -4, 66, 96, -43, 17, -84, -56, 30, 54, 126, -68, -87, -69, -4, 39, -62, -109, -10, -83, 2, -24, 27, 32, 55, -124, -35, 89, -7, -98, 120, 33, 11, -73, -102, 87, 64, 102, -42, 76, 13, -52, 28, -125, -107, 94, 77, 122, 92, -66, -83, -29, -17, -102, 41, -99, -34, -41, -13, 22, 11, 23, -121, -110, -5, 112, -38, -121, -42, 85, -109, -121, -38, 4, -80, 92, 87, 95, 96, 101, 30, -20, 57, 52, -98, 104, 32, -83, -8, -117, -96, 51, -125, -55, -111, 59, 42, -50, 66, 116, -33, 32, 2, 52, 63, -48, 107, 121, -65, -34, -39, -127, -61, -95, -69, -27, 55, 53, 35, 50, -121, 26, 80, -99, -27, 108, -82, -22, 55, 92, 50, 54, 84, 59, 5, -7, -31, 49, -95, 55, 5, -35, 67, -28, 122, 6, -70, -25, 91, -3, -61, 123, -77, 117, 122, 59, -47, -86, -33, -20, -73, 49, 91, -128, -3, 63, -121, 32, -45, -88, -116, -119, 77, 88, 71, -27, -52, -98, -55, -97, 67, -112, -40, -66, -44, -63, -73, -90, -79, -32, -77, -64, 55, -22, -50, -52, 7, -93, 108, -40, 71, 71, -60, -18, 26, 65, -50, 127, 13, 65, 86, -53, 30, 32, -78, 33, 71, 77, 91, -48, 107, 60, -92, -121, 123, 64, -37, -99, -80, -48, -53, -4, 26, 100, -31, -86, 32, -48, -34, 102, -114, 121, 24, 67, 50, -29, 48, -17, -99, -64, 127, 71, 115, -7, -105, 73, 79, -95, -39, -63, -13, 76, -92, -17, -16, 51, -74, 79, 32, -17, -59, 32, 101, 2, -22, 10, 109, 101, 33, 105, -47, 110, 89, 104, 60, -34, -18, 39, -86, 13, 64, 23, -35, -73, 115, -91, -45, -49, -5, -66, -99, -5, -123, 24, 14, 101, -5, -10, 56, 95, -46, 125, -101, 116, -52, 36, -121, 15, 67, 36, 69, 109, 96, -78, 58, 42, -59, 73, -80, -120, -31, -82, 23, 50, 103, 102, -100, -97, -42, 119, 75, 40, -27, -20, 7, -111, -25, -38, 116, 3, -35, -45, -75, -13, -113, 30, -97, 102, -97, -89, 58, -95, 72, -27, -33, 65, 121, -27, 71, 60, 107, 71, 21, -42, 107, 36, 24, -23, 9, -84, -9, 10, -37, 114, 88, -110, 51, 6, 112, -102, 25, -26, 59, 113, 94, -3, 106, -85, -19, -105, 96, 110, 87, -110, -37, -88, 115, 7, 127, -32, -3, -15, 110, 111, 30, 106, 8, 27, -15, -105, 70, 6, 78, 9, -85, 26, -95, -86, -110, 1, 43, -58, 109, 74, 67, 110, 73, -114, -13, 87, 96, -109, -115, 123, -81, 75, 89, -70, -98, -63, -61, -100, 112, -126, -88, 46, -51, 119, 59, -25, 17, 20, -88, -111, -103, -126, 64, 78, 124, 102, -24, 34, 36, -110, 114, -100, 22, -58, -73, 119, -51, -85, 18, -82, -16, -121, 46, -56, -38, -35, 107, -48, 3, 82, -10, 76, 88, -104, -92, 90, -3, 93, 114, 78, 4, -32, -95, -61, -30, 14, -46, 23, -60, -94, -92, 40, -21, 126, -108, 115, 40, -69, -84, 59, -78, -24, 114, -17, 1, -37, -21, -93, -119, 9, 4, -27, -99, -107, 51, 7, 39, -18, -49, -92, -115, 82, 38, -117, -39, -61, -57, -67, 2, 76, -111, 34, -31, 23, 98, 79, 33, 94, 18, 85, -23, 23, 120, -42, -97, 27, 84, 106, -60, -2, 90, 99, 118, -112, -4, 61, -46, -28, 101, -75, -24, -84, 127, -121, -47, -14, 28, 0, -26, -114, -97, -1, -88, -127, -95, 69, -107, -76, -53, 9, -107, -119, 2, -52, 69, 55, -83, -92, 118, -117, 43, 82, 9, 21, -22, 7, 23, -99, -34, 77, -63, -19, 113, -33, -85, -93, -25, 78, -74, -73, 103, 124, 21, 92, -74, -78, 126, 63, 21, 25, 61, -35, 31, 11, -12, 46, 92, 116, 80, -88, -99, 116, 93, 118, 82, -82, -47, -110, -75, -21, 37, -125, 15, -121, 116, -66, 48, -18, 111, 120, -104, 70, -107, 45, 14, -10, -36, -89, 77, -115, 84, -67, -107, -96, -14, -106, 91, 89, -40, -49, 55, -71, 71, 110, -25, 108, 0, 127, -42, 4, 30, -124, 109, -119, 33, -63, -5, 39, -44, -82, -47, -61, 71, 105, -49, -56, -109, -38, 25, 0, 49, -45, 35, -26, -5, -94, -3, 20, -80, 1, -51, 85, 124, -14, -6, -92, -52, 28, -50, -47, 83, 62, 43, -30, 105, 77, 100, -34, 114, -108, -57, -118, 37, 35, -59, -122, -64, 107, -8, 100, 108, 28, -110, 40, 5, -100, 83, -24, -45, -42, -128, 57, 121, -43, 59, 63, -30, 71, 59, -20, 53, 51, -87, -34, -93, -61, 122, 75, -109, 17, -125, -82, -38, 85, -43, 11, -36, 120, -60, -45, 75, 53, -102, 81, -64, 98, -12, 95, 7, 41, 8, 60, 34, 56, 19, -19, -24, 31, 68, 94, 69, 15, -64, 46, -72, -67, -29, 84, 83, 10, 55, 85, 77, 26, 47, 3, -17, 50, 21, -57, -84, 3, 13, 106, 90, -110, -125, 49, 112, 86, 9, 81, 113, 118, 56, 11, -37, -92, 68, -126, 118, -41, -4, -123, 116, -113, 21, -22, 58, -20, 67, -39, 55, -47, -8, -54, -94, -78, -45, -14, -38, -5, -102, 115, 34, -72, 11, -31, 44, -18, 118, 122, -92, -105, -85, -84, -56, 39, -48, 95, 23, 92, -102, -27, 103, 28, -103, 104, 35, -112, 21, -32, -78, -46, 43, 121, -97, -74, 94, -32, 20, -19, 126, -61, 87, -22, 35, -3, 81, 101, 123, -58, -108, 63, 16, 118, -39, -14, -122, 43, -16, 75, 35, 39, -109, -66, 26, 117, -92, -102, -24, 71, -118, 6, -25, -118, -17, -44, 93, 78, 109, -34, 107, 23, -4, -25, -34, -112, -43, -48, 111, 29, -17, -24, 72, -123, 102, -95, 127, -30, -31, 51, -9, -65, 106, -34, 75, 50, 62, 93, -83, 86, 65, -68, 104, -106, -119, 58, -120, 92, 49, -104, -126, 10, 26, 27, 85, -4, -101, -20, 26, -69, -120, 69, -16, 43, -99, -116, 122, 2, 127, -126, 127, 58, -6, 60, 109, -107, 110, 81, -52, -126, 120, -13, -98, 75, -80, 6, 100, -30, 26, 122, 15, 88, -32, -38, -81, 43, 59, 34, 121, 11, -97, -50, 97, -35, -101, 125, 24, -107, 43, 109, 14, 121, 52, -127, 106, 88, 99, -74, 20, 85, 28, -28, -13, 68, -89, -103, -120, -112, -116, -125, -104, -46, -39, -118, 117, -76, -115, -102, -64, 61, 73, 119, -20, 75, 102, 78, 111, -74, -2, -71, 8, 10, -106, 119, -54, -49, 86, 31, -127, 15, -57, -19, -111, -19, -24, -122, -123, -78, 123, -20, 70, -128, 54, -31, -53, -123, -9, -40, 126, -72, 123, 6, 97, -25, 88, -16, -64, -56, 57, 64, 38, 121, 44, 126, -12, 119, -17, 29, 78, -104, -80, -32, 98, -25, 81, -1, -25, -23, 75, -109, 21, -110, 112, -121, 73, -61, 47, -85, -54, 31, 72, -69, 85, 97, 106, -98, -125, 14, -24, 26, -64, 22, -5, 84, 7, -13, 58, -62, -77, 64, -96, 93, 1, -27, -79, -121, 87, 80, 31, -40, -46, -125, -58, -107, 61, 17, -70, -110, 58, 69, 114, 70, 18, 54, 98, 56, -42, 42, -113, -72, -55, 86, 112, 40, -128, -19, 121, -20, 63, 13, -27, -10, -76, -71, -18, -52, 29, -93, 126, 123, -41, 74, -60, -27, -31, -112, -77, -102, 117, 22, -125, -63, 108, -127, -92, -54, -53, -69, -20, -90, -45, -60, 61, -74, -87, 72, 122, -49, 9, 102, 119, -32, 36, -62, -90, 108, 114, 108, 87, -103, -21, 104, -84, 44, 23, 127, 48, -14, 79, -30, -75, 96, -87, -53, -32, -117, 5, -46, 118, -55, -97, -102, -29, 73, -40, 18, -55, 86, 43, -93, -50, -88, 103, 120, 27, 96, 78, -80, -65, -68, 71, 120, 16, 112, -103, -7, 112, 97, -75, -61, 3, -62, 99, -48, 116, -126, -12, -107, -91, 52, 39, 99, 3, 30, 120, -9, 63, 40, -101, -61, -110, 86, 89, -22, -62, 110, 43, -36, 57, -83, -85, 44, 10, -78, 30, -123, 10, -44, -80, 10, 120, -49, 14, 59, -30, 56, 125, 83, -103, 67, -33, 7, 25, -66, -12, -79, -101, -99, -87, 31, -28, -82, 70, 32, -97, -53, -86, -57, -105, 11, 118, -102, 18, 63, -39, 39, 25, 78, 81, -59, -35, 15, 25, 31, 115, -94, -100, 60, -89, -91, 55, 41, 98, -101, 125, -112, -17, -84, 29, -70, -77, -106, 31, 36, -94, -13, -122, -19, 107, -98, 64, -67, 29, -112, -69, 22, -18, -49, -126, -94, -22, -2, -27, 44, -127, -1, 56, -53, -13, -63, -45, 40, -128, 16, -49, -101, 55, 99, -97, 81, 54, -53, 127, 65, -111, 89, -38, 106, -61, 43, 46, -21, 3, -95, -14, -45, -75, 68, -26, -95, -64, 29, -112, 63, 116, -49, 48, -98, -1, -76, -106, -115, -104, 126, 85, -35, 10, 56, -106, 29, 107, 96, 12, -76, 27, -51, -85, 105, 97, -69, -5, -113, 23, -7, -64, 6, -93, 58, -52, 51, -119, -107, -16, 20, 18, -57, -87, 16, -56, -80, -66, 98, 49, -15, -86, -26, 95, -18, -110, 125, 48, 17, -56, 106, -6, -68, 17, 64, 47, -40, -63, -118, -101, 48, 18, -43, 55, 59, 81, -31, -46, 105, 0, 17, 1, -2, 101, -12, 38, 119, -11, 102, -55, -116, -18, 18, -17, -13, -89, -63, -28, -106, -118, -118, 17, 74, -12, -100, -3, 10, -95, 111, 15, 61, -107, -31, 96, 47, 60, -17, 31, 87, 77, 66, 111, -120, 88, 34, 89, 87, -49, -41, 110, 43, 98, -123, -85, -114, 24, 31, 54, -23, 121, 23, 73, 98, 70, 96, -75, 11, -97, -11, -57, -120, -56, -51, 37, -10, 83, 55, 23, 90, 3, 47, 0, 67, 57, 73, -45, -103, -23, -99, 126, -46, -107, -52, 57, 4, 122, -41, -34, -77, -86, 29, 92, -3, -112, -33, 51, -115, 123, 35, 122, -86, -42, -72, -61, -113, -56, -64, -100, -124, 64, 10, -43, 118, -42, -27, 50, -12, -102, -22, 111, 45, 112, -45, 45, 113, -53, -100, -87, 54, 111, -20, -76, 41, -54, -42, 54, -5, 12, 96, 51, -82, 39, 13, 93, -109, -62, -5, -43, -110, -71, -45, -23, -128, -122, -74, 13, 23, 92, 74, 8, 8, -21, 78, 54, 90, -110, -107, -100, -89, -40, 72, -122, 34, 40, -101, 103, -93, 15, 38, 58, 6, -21, -29, 17, -78, -25, -103, 67, -84, -94, 88, 32, -95, -53, -52, -42, -97, -86, 18, 101, 28, 12, 108, -57, -12, 33, -41, 42, 119, -13, -96, 13, 102, 98, 115, -27, 97, -75, 118, 127, 28, -48, -108, 97, 92, 33, 78, -119, 33, -60, 4, 30, 13, -19, -128, -15, -126, -18, 68, 114, -36, -122, -79, -109, -99, -19, -92, 117, -32, -74, 127, -107, -6, 78, -109, 38, 49, -99, -51, 76, -45, -45, 73, -7, -59, 61, -74, 62, 55, 124, -19, 96, 60, -69, 64, -70, 7, 67, -30, 48, -15, 118, -21, -102, 20, -77, -81, -54, -110, -21, 83, 95, -54, 108, 93, -83, 120, 118, -33, 3, 108, -11, -6, -99, 63, 66, -49, -83, -94, -93, 106, 112, 88, -11, -13, 115, -94, 117, -36, 31, 103, -5, -94, 43, -54, -24, 51, -50, -40, -65, -77, 92, 16, -39, 2, 71, -22, 121, 6, 15, -107, -46, -89, 47, 119, -104, 114, 74, 7, 88, 10, 120, 72, 19, -60, 106, -44, 118, -18, 97, -10, -123, 60, -44, 41, -119, 115, 117, 23, -33, 48, 83, 52, -58, 93, 126, 13, -41, -46, -46, -59, 59, 63, -3, -106, -31, -43, 28, 0, -90, 11, 43, -81, 40, 92, 90, -57, -27, -89, 25, -32, -57, -114, -33, -99, 123, 44, 127, -110, 55, -92, -22, -10, -97, -24, 13, -101, -15, 10, 9, 74, 76, -32, -34, 118, -80, 110, 110, -117, 43, 49, -35, 82, -11, -4, -89, -37, -36, -84, 75, 0, -4, 64, 61, 117, 15, 75, -79, 121, -57, 51, -20, -7, -4, -68, 44, -67, -86, -60, -69, -11, 35, 39, 74, -21, -22, -24, -28, -76, -71, 49, 25, -111, -69, -84, -89, 0, 61, -54, 16, 25, -10, 106, -7, 27, 74, -46, -31, -24, 6, 75, -7, 86, -43, -25, -67, -115, -107, 107, 16, -7, -4, -29, 72, 68, -109, 22, -64, -7, 81, -114, -60, 10, -47, -18, 100, -57, -70, 93, -23, 113, 87, -125, 41, 89, -94, 107, 20, 1, -76, -4, 33, 23, -49, -50, 116, 114, 98, 99, -77, -80, -22, -57, 10, 97, 53, -56, -64, 55, 87, -34, 25, 49, 46, 122, -51, -39, 113, 64, 11, -31, 100, -49, 113, -10, -56, -37, -39, -53, -123, 43, 69, 86, 74, -73, 124, -32, 52, 9, 127, 48, 78, 106, -5, -78, 79, -69, 116, -55, 56, 123, 14, -78, -40, -42, 6, 115, 8, -10, -95, 60, 81, -121, -37, 63, 49, -56, -118, 75, -104, -75, -120, 99, -50, -73, 59, 13, 123, 75, 18, -44, 87, -31, 89, -102, -25, -76, 72, 104, -28, -52, 2, -19, 43, -84, 14, -23, 104, 1, -58, 46, -58, 106, 93, -25, 83, 56, -39, 104, -64, 116, -121, -8, -60, -56, 33, -59, 87, 124, 65, -106, 104, 37, 81, -105, 116, -64, -126, 51, 75, 81, -113, 30, 127, 104, -17, 76, -113, 68, 123, 57, 41, 25, -120, 71, 50, 92, -61, 76, 99, 116, 22, 3, -13, 11, 103, 7, -127, 56, 6, 9, 57, -34, 6, 93, 112, 104, -92, 66, -114, 107, 30, 39, -100, -109, -68, -24, -74, -24, 5, 125, -63, 121, -111, -49, -88, 62, -96, -114, -79, 58, -75, -91, -6, -90, -15, -19, 47, -41, 20, 70, -84, -29, -59, -3, -20, -44, -29, -95, 64, 70, -85, -83, -86, -121, 81, -5, -16, 28, 125, -105, 31, -74, -51, 65, -16, 14, 89, -28, 25, -41, -118, 4, 79, 121, 124, 55, -32, 107, -67, -25, -92, -19, -60, -33, 116, 43, 17, -74, -26, 67, 52, -107, 5, 123, -125, 122, 69, -32, 77, -53, 86, 41, 105, -43, 14, -66, 117, -114, -60, 17, -52, -108, -111, -125, -26, -70, -74, 66, -33, 102, 5, -51, 67, -33, -100, 99, 69, 99, -61, 72, -98, -64, -49, 35, 86, -56, 115, -2, -36, -95, -47, 110, -125, 34, -76, 99, -97, 102, 29, -13, -61, 42, 118, -104, -57, 101, -22, -43, -102, -83, 16, -82, 29, -95, -4, 13, 11, 125, 120, -95, 93, 5, -111, 86, -18, 109, 55, -5, -60, -100, -95, -74, -115, -56, 67, -46, 126, -19, -23, 62, -96, 73, -123, -121, -41, 92, -115, 57, 70, 55, 56, 35, -31, 42, 62, 20, -3, -96, -61, 79, 13, 92, 80, 24, 34, -73, 33, -82, 48, 60, 26, -20, -17, 116, 122, 59, 112, -34, 113, 70, -19, -80, 126, -32, 87, -88, 26, 55, -82, 76, 91, 89, -105, -28, 112, -42, 123, -31, 4, -49, -36, 11, 46, -122, 118, -76, -86, -39, -81, -103, 23, 39, 57, 99, 114, 7, -60, 14, 3, 64, -72, -55, -16, 59, -50, -5, 40, -11, 123, 14, -48, -127, -2, 14, 101, 68, 7, -123, -125, 87, 82, -30, 1, 31, -100, -10, -13, 54, 94, 118, 95, -64, -92, 95, -106, 88, -91, 81, -19, -7, 111, -66, 29, -44, 37, -67, 79, -12, 56, 127, -77, 49, -40, -127, 58, 81, 113, 23, -101, -28, -124, -4, -47, -29, 20, -19, 29, 61, 25, 92, 102, 73, -5, -71, -63, 40, 83, -23, -74, 3, 42, -11, 72, 14, 127, -95, 91, 20, 111, 59, -50, 17, -36, -83, 24, 110, -111, -108, 62, -10, -60, 61, -80, -82, -107, -45, 81, 79, 125, -33, 121, -27, 121, 50, -11, -116, 111, 10, 46, -71, 108, 48, -87, 68, -35, 77, 59, 79, 98, -39, -82, 44, -1, -51, -2, 37, 123, 11, 84, 16, 21, 94, -65, -42, -2, -32, 43, 98, -63, -111, -94, 14, -21, 124, 104, 120, -52, 110, -126, -50, 124, 57, 114, -60, -111, 119, -14, -29, -86, 79, -21, -107, 38, -62, 31, 52, -102, -105, 101, -48, 126, 34, -125, 110, 118, 91, 117, 79, -53, -27, 104, -41, 17, -119, 110, 45, 40, -41, -2, 88, -126, -62, 79, 101, -87, -71, 39, -8, 16, 86, -22, -123, -14, 74, -110, 58, 66, 94, 62, -43, 122, 82, -122, -42, -109, 126, -32, -97, -32, 65, 23, 116, 23, 46, 115, 73, 60, 96, -101, 98, 29, 125, 48, -8, 49, 116, 112, 27, 44, 57, 109, -101, -23, 27, 80, 105, 55, 114, -51, 108, -68, -4, 23, 49, -64, 102, -91, -58, -64, 122, -47, -18, -71, -46, 99, 65, 1, -103, 74, -5, -112, 112, -118, 17, -8, 90, -2, -18, 60, -8, 17, -26, 87, -58, 25, -33, 109, -8, -93, -108, -29, -98, -121, 85, -105, -66, 64, -58, -19, 78, 96, -96, -74, -100, 126, 102, 116, -116, -90, -19, -13, -40, 125, 76, 77, 74, 38, 15, 34, 9, 33, -87, -10, -34, -80, -97, -87, -50, -43, -30, 57, -33, -12, -18, -45, -50, 11, -18, 6, 72, -43, -69, -62, 78, 71, 52, 88, 114, 119, 77, 36, 16, 72, -97, -11, -34, -117, -97, 123, -125, -58, 42, 54, 10, -49, -46, 44, -92, 15, -107, -75, -43, -15, 63, -35, -87, -25, 79, 119, 10, 67, 66, -39, -111, -38, -127, -99, 110, 29, -7, 60, 104, 92, -117, -25, -124, 61, -31, -92, 48, 89, -17, -25, 70, 43, -25, -38, -66, 71, -126, -101, -107, -115, 114, 23, -47, 90, -11, -85, 98, 89, -30, 95, -70, 23, 7, 83, -75, -67, 112, 23, 38, 91, -75, 10, -100, -121, -3, -63, -38, 82, 33, -113, 62, -45, -68, 103, -67, -69, 20, 123, 105, 40, -70, -29, 57, -38, 58, 80, -115, -4, 29, -22, -18, 104, 60, 14, -79, 45, 74, 97, -22, -120, 36, -61, -81, 109, 18, 21, 52, 117, -98, 109, 28, 67, -31, 52, -38, 85, -116, 26, -118, -82, 107, 22, 88, 79, -110, -90, 102, 57, 61, -83, -101, -88, 79, -110, -100, 70, 101, -62, 17, -109, 8, -29, 116, -29, 3, 95, 105, -122, 10, -126, 67, -20, 32, 115, 48, -108, -79, -61, 23, -93, -70, -70, -48, -90, 42, 59, 84, 94, -35, -47, -57, 102, -115, -20, -4, -88, -104, -17, 111, 12, -57, -36, 34, -66, 0, -103, 92, -104, 68, -105, -64, -12, 22, -12, -120, -91, -39, -97, -2, 68, 125, 127, 2, 25, -63, -86, 43, -47, -2, 83, 89, -47, 122, -24, 49, -107, -3, 7, 106, -123, -11, 121, 98, 104, -33, -14, 53, -87, -111, -54, 31, -56, -103, 99, 49, 74, 54, 18, -24, -114, -19, 101, -122, -22, 46, -98, -48, 51, -58, -42, 127, 93, -22, -107, -109, 58, -128, -105, 49, -29, -113, -45, 0, 127, -10, -46, -97, -13, 25, -61, 3, 97, -29, -33, -50, 83, 15, -70, -113, 126, 98, 79, 40, -36, -54, -96, -52, -16, 14, -99, 44, 52, -23, -42, -99, -23, 40, 79, 9, 45, -55, 37, -85, 114, 41, 3, 68, -58, 68, -81, -58, 23, -53, -14, 44, -68, 63, 47, -84, -87, -124, -52, 62, -1, -68, 60, -20, 101, -95, -13, 72, 122, 90, 63, -78, 126, -72, 55, 47, -61, -55, 56, 108, 96, -20, 90, 97, 42, -29, -126, 66, -102, 11, 40, -68, -36, 2, -14, 95, 111, -88, -116, -110, 94, 123, -106, -26, 57, -8, -95, -90, -9, 54, 126, -126, -83, -68, -23, 20, -124, 65, -75, -101, -65, -29, 100, -13, -79, -79, -18, -34, 21, 118, -74, 57, -121, -7, 62, 95, -61, 95, -91, 84, -118, 82, -54, -14, 113, 40, 9, -101, 109, 38, 74, -125, -121, 44, 124, 44, 122, 39, 120, 11, 45, -85, 97, -25, 3, -62, 102, -76, -12, -73, -5, -112, 62, 39, -43, -73, -17, -69, 73, 68, 109, -75, -28, -125, -55, 92, 125, 4, -73, 83, -25, -42, -88, -84, -42, 41, -36, -124, 117, 63, 38, 14, 6, 41, -5, 32, 48, 127, -31, 87, -64, 79, 54, 46, -97, 72, 12, -56, -16, -74, -118, 29, -124, 87, 126, 89, 88, 42, -54, -24, -56, -58, 126, -94, 40, 91, 77, 13, -96, -118, -111, 109, -118, -20, -84, -66, -76, -55, -37, 85, -89, -64, 8, -121, 50, -81, -78, -17, 86, 115, 88, -16, 65, -2, -35, 62, 95, 60, -90, -54, -119, -5, -91, -69, -122, -55, -85, 121, 17, -99, 74, 40, 115, 24, -66, -67, 40, 113, -127, 110, 5, -21, -29, -53, 1, -120, 108, 21, -47, 19, 61, -11, 68, 112, 107, -12, -62, -119, -91, -54, -110, 15, -12, -76, -78, -78, 63, 79, 121, -119, 29, -103, 78, -61, 23, 124, 44, 33, 37, -50, 89, 80, -55, -108, -17, 19, 95, 111, 93, 77, 110, -111, 113, -33, -101, -106, -127, -34, -24, -19, -64, -41, -5, 66, 91, -97, 88, -84, -19, -47, 91, -8, -61, 122, 94, 1, -18, -98, -69, 84, 19, 73, 109, -52, -45, 63, -72, 65, -54, 49, 89, -6, -73, -81, 45, -73, -35, 14, -107, -87, 66, -15, 45, 7, -12, 76, 72, 121, -74, -59, 79, -46, 14, 26, 87, -22, -124, 54, 7, -39, -32, 125, 76, 34, 91, -14, 92, 96, 50, -1, 43, -59, 25, -41, 12, -39, 107, 26, -105, 39, 93, 3, -10, -81, 71, -97, 38, 84, 72, 123, -105, -47, -106, -74, 106, 41, 112, 119, -41, 32, 89, -41, 107, -113, -56, -73, 60, -101, -90, -88, 31, -90, 12, 14, -69, -90, -28, -90, -14, -29, -64, -68, -29, -62, 61, 67, -64, -128, 114, 122, 21, -32, -116, 114, 27, -92, 84, -21, 86, 25, -89, -53, -111, -116, 106, 125, -4, 51, -62, -29, -44, 93, 70, -52, -110, 67, 112, -58, 107, -19, 54, -18, 125, -59, 15, -117, -59, -61, 14, 126, -47, 103, -85, -71, -40, 120, -85, -57, -100, 56, 18, -106, -59, -73, 92, -70, -13, 68, -89, 36, 122, -66, 50, 34, -106, 90, 57, -123, 125, -30, 35, -115, -23, 120, -22, 75, 64, -115, -51, 23, 30, 8, 90, -44, -47, -70, -43, -90, 101, -86, 49, 95, 99, 51, -41, 79, 15, -67, 126, -48, 23, -47, -127, -128, 33, 74, -116, 126, -109, 115, -24, -104, -59, -60, -47, -30, -46, 32, 70, 90, -16, 22, -54, 53, -32, 48, 40, -22, 69, 38, -44, 79, 49, 2, 18, -88, 34, -4, 93, -75, -9, -105, -89, 104, -36, -63, 17, 39, -49, 46, -60, 123, 5, 9, 81, -85, -27, -64, -107, 123, 104, -8, -14, 101, 112, -67, -41, -27, -117, 45, 61, 117, -64, -36, 14, -88, -22, -83, 91, -46, 70, -43, -10, -58, -121, 95, -19, -107, -121, 17, 118, -110, 110, 36, -64, 75, -6, -19, 8, -41, -73, -125, 3, 61, 63, -88, -23, -37, -36, -20, 56, 120, 4, -105, -59, -20, -47, 11, 69, -84, -58, 6, -40, -1, 97, 88, -73, -29, -23, 42, 99, 39, 77, -125, 1, -33, -102, 45, 26, -87, -49, -89, -37, 111, -77, 33, 70, 109, -87, -120, 43, -89, -108, -86, -60, -47, 42, 86, 43, 106, 93, -100, 111, -60, -121, -123, 9, -46, 49, -96, 27, 97, -30, 82, 88, -100, -74, 60, 95, 124, 17, -47, 120, 49, 20, 32, 68, -47, -92, -34, -8, -89, -105, -112, -70, 98, -110, 40, -71, -125, 54, -99, -127, 25, -93, 88, 87, -106, -103, 58, -36, -75, -7, 55, 83, 127, -16, 46, -62, 27, -117, 9, 86, 126, -122, 5, -104, -37, 100, 94, -77, 109, -81, 25, 64, 63, 56, -12, 95, 13, 104, 15, 42, 86, -106, -86, 101, 82, 34, 93, -26, 28, 22, 59, -115, 19, -28, -115, -104, 39, -104, 71, 80, -123, 5, -86, -108, -75, 105, 79, -46, 54, -41, -83, -90, 7, -120, 45, -102, -30, -76, -94, -88, -48, -66, 28, -33, 20, -32, -125, -111, 93, 22, 65, 85, 72, 89, 44, 124, -42, -8, -88, 48, 73, 52, -74, 98, -63, -124, 117, 119, 100, -84, -84, -11, 34, -3, 47, 52, -74, -29, -19, 121, 67, 112, 120, -13, 99, 16, -50, -13, -7, -1, -96, -62, 29, 9, 79, -19, 67, -30, 23, -114, -48, -96, -77, -65, 65, -113, -24, -79, -65, -53, 127, 97, -11, 8, 93, 101, 9, -68, 31, 0, 90, 49, 1, -125, 96, 39, -126, -62, -73, 67, 106, 97, 31, 2, -114, -102, -100, -51, 31, -19, 82, -127, 124, -127, 85, 52, -85, 24, -117, 87, 78, 34, -101, -90, -8, 40, 82, 121, -89, -20, 32, -97, -112, 6, -36, 100, -93, -39, -44, -91, -93, 58, -126, 107, -61, -1, 0, -120, 119, 44, -34, -121, -117, 99, 14, 120, -77, 99, 60, -67, 29, -125, 23, 19, 124, 44, 77, 9, -42, -50, 77, -128, -58, -78, 37, -57, -123, -70, -9, 32, 79, 92, 91, 5, 49, 4, -4, -122, -89, -25, -27, -69, -49, 125, -88, -12, -85, -47, 58, 19, 98, 117, -82, 55, 126, 21, 126, 118, 95, -36, -62, 10, -29, 44, -16, 108, 58, 54, 85, -53, 96, -13, -97, 73, 62, -39, 47, -38, -31, 70, 71, -113, -75, 83, -19, -97, 46, 30, -45, -98, 77, -78, 37, -40, -62, -88, 106, -2, 83, 50, 108, -65, 102, -81, -105, -6, 8, -117, -114, 46, 34, -3, -84, 66, -93, -99, 126, -52, 45, -98, -81, 103, -49, -106, 90, -41, -32, 90, 73, -40, 93, 123, -33, -86, 83, -60, -65, 33, 78, -123, -123, -50, -28, 32, -9, -102, 92, -106, -100, -101, -32, 61, -97, 112, 9, 0, 86, 32, 79, -27, -55, 79, -110, -127, 31, -12, -114, 120, -111, 4, 36, -31, 54, -63, -65, 57, -7, 84, -28, 15, -91, 77, 88, -106, 63, -10, -55, -73, 16, 99, 118, 48, -106, 95, -81, 113, -23, -120, -26, 44, 56, 26, -39, -66, 72, 93, -75, 106, -81, 109, 116, -29, 71, -47, 13, -54, -85, -22, 38, -43, 100, -98, -111, -54, -40, 52, 110, 116, -101, -87, -49, -62, 46, 89, -77, -54, -73, 38, -86, -3, 38, 0, -108, 86, 19, 54, 50, 42, -128, -121, -24, 9, 117, 81, 122, -48, 86, 57, 64, -8, 88, -53, -121, -25, -57, -22, -21, 78, 59, -31, -83, 43, -34, -120, 10, 116, -102, -8, 98, 23, 127, -41, 94, 123, 120, 84, -48, -96, 69, -113, -6, -13, -51, 0, 73, -32, 126, -52, -95, -34, -58, 49, -96, -115, 67, -52, 105, 18, -25, -91, -96, -49, 18, -119, 98, -116, -126, 76, -61, 5, 60, 7, -72, -113, 23, -119, -113, 66, -79, -116, 124, 77, 33, -106, 47, -46, 35, -22, -17, -105, 6, -22, 121, 59, -118, -34, 122, 51, -50, 122, 39, 32, -98, 81, 26, -28, 102, 21, -13, -91, -47, 87, -108, 23, 111, -66, -54, 36, 125, -48, -53, -102, 73, 68, -27, 48, -100, 14, -114, -23, -10, 12, -76, 33, 98, -128, 11, 107, 56, -106, -60, 25, 121, 114, -121, 15, -10, -24, -16, -11, 81, 90, -91, 94, -124, -109, -74, -101, -7, 3, -75, -125, -77, 107, 113, 85, -57, 86, 108, -111, 102, 73, 30, 73, -26, -106, 124, 89, 7, -102, 116, 112, -26, -127, 40, 115, 71, -68, 125, 8, -11, -43, -53, -88, -9, 18, 46, -31, 125, 70, -113, 25, 95, -57, 124, -46, 81, 106, 91, -47, -110, 88, -51, 49, -80, 43, 79, -4, -45, -87, -82, -86, 126, -57, 89, -15, 90, -10, -84, 79, -25, 83, -62, -85, 127, 25, 85, -10, -67, -32, -115, 22, -77, 43, -11, -74, -86, 45, -31, 102, -63, -6, -16, -79, 13, 125, 97, -97, 56, -9, -11, -36, 11, -85, -33, 114, -51, -89, -45, 38, 126, 93, 106, -84, 38, 115, 44, -14, 65, 99, -16, -119, -4, 32, -68, 77, -97, -22, -116, -23, -35, -44, 87, -102, -97, 108, 106, 114, 94, 108, 11, 28, -19, 117, -104, -43, 39, 107, -28, 121, 81, 58, 126, 37, -19, 3, 36, 83, -60, -107, -78, 106, -66, 27, -95, -14, -42, -80, -37, -13, 72, 107, -88, 102, 72, -74, -68, 24, -65, -59, -107, -53, 1, -81, -13, -51, 6, 126, -79, -18, 96, -95, 86, 22, 26, -20, -9, -36, 117, 65, -30, -90, 34, -50, -92, 45, -4, -118, -7, -90, 60, -83, 78, 86, -7, -87, 66, 86, -21, -99, -91, -68, 21, 55, -95, -1, 88, -78, -56, -115, -21, 51, 16, 25, 72, 31, 98, -114, -29, 14, -104, 82, -118, 126, -123, 3, -71, 97, -76, 53, 78, 83, 7, -39, -30, -62, 57, 67, 85, 93, -115, -99, -90, -91, 35, -127, 59, 114, -80, -70, -79, 69, -48, -119, -20, 114, -62, 3, 105, -27, 123, -59, 119, 113, -97, -125, 30, -128, 31, -104, -74, -60, 85, 51, -127, 30, 95, 114, -83, -77, 24, 30, 19, -109, 62, 48, 114, -44, -36, 125, -47, -95, 23, -23, -126, 79, 69, 102, 106, 94, 117, -67, 82, 83, -85, -97, -26, -128, 25, -55, -66, -19, 73, -29, -95, -12, 36, 103, -79, 47, 51, 113, -89, -120, 12, 33, -34, -121, 13, -99, 56, 50, -22, -18, 77, -3, 1, 91, -62, -93, -113, 49, 80, 13, -26, -2, 0, -16, -11, -59, -41, -107, 17, -35, -87, 25, 114, 100, -10, -46, 37, -14, 22, 45, -8, 97, 52, 120, 113, -50, 10, -83, -36, -85, -11, 32, -82, -121, -111, 5, -40, -47, -109, -94, -9, -105, 126, -102, -44, 40, 103, -44, -81, -72, 109, -126, 93, 116, -92, -25, 85, 74, 100, -45, 68, -58, 32, -39, 24, -75, -84, -67, -2, -110, 19, 87, -106, 16, 117, 31, 37, -21, -24, -55, -68, -97, -106, -106, -8, 86, 108, 57, -27, 59, 127, -122, 14, 107, 121, -56, -25, -10, 84, 127, -82, 11, 12, -115, 57, 26, -31, -104, 117, -128, 55, -45, -87, -27, -82, 16, 39, -14, -28, 64, 97, 98, -27, -33, 69, 102, 71, 85, 71, 68, 107, -92, -113, -75, -64, -8, -33, -98, -60, -34, 91, 55, -21, -98, -65, 118, 107, 9, 46, 81, 43, 2, 121, -114, 124, -4, -121, -121, -24, 116, -27, 113, 113, 73, -97, -82, -22, 8, 76, -70, 92, 59, -32, -75, 119, -64, -23, 71, -20, -48, 112, -123, 6, -92, -77, -128, 123, 57, 37, -57, 40, -37, 9, 97, -37, -12, -12, -95, -97, -96, 4, -63, 99, -50, -48, 1, 64, -105, 8, 9, 38, -114, 124, 97, 80, -84, -125, -107, -54, 28, -10, 38, -4, 1, 28, 127, 57, -57, 25, -19, 93, 72, -17, 14, 51, -18, -79, -70, -28, 123, 63, 99, -20, 55, -27, -109, -97, -68, 56, 114, -9, -60, 41, 70, -22, 59, 107, -80, -90, 49, 76, -35, 102, -9, -2, -68, -41, 74, -120, -49, 8, 30, -55, -10, -94, -81, 72, 3, 70, -51, 78, -74, -24, -26, 123, 86, -65, 57, -36, 113, -10, 0, -107, -53, -7, 117, -47, 24, -80, -108, 57, 82, -4, 105, -84, -44, -86, 108, 65, 98, 36, -11, 118, -20, -65, -116, -43, 44, 83, -123, -101, 116, -120, 124, 89, -111, -26, 20, 28, -13, -17, 9, 35, -18, -94, 81, -36, -16, -117, 15, 10, 15, -117, -51, -92, -89, -26, 87, 72, -2, -78, 87, -92, 25, 89, -55, 18, -71, -61, 35, 31, 87, -69, -93, 127, 61, -46, -114, -85, 19, -94, 31, -15, 92, 12, -98, -120, 57, 89, 102, 14, 27, -86, -32, 60, 92, -60, -4, -126, 52, -119, -70, 87, -35, 24, -26, 39, 52, -2, -123, -75, 83, 115, 85, 21, -121, 92, -10, 53, -123, -118, 47, 66, -77, 103, 3, 92, -63, -81, 59, 120, 81, -71, 62, 79, 1, -40, 7, -44, 55, -60, 87, -100, 119, 96, -65, 4, -7, 73, 58, -82, 33, -78, -89, 98, 108, 107, 19, 94, -102, 93, -103, 119, 99, -8, 44, 100, 11, -18, -45, 104, 79, -60, 59, -116, -109, 105, -67, -59, 57, 104, 15, -12, 85, -103, 62, -3, 49, -20, 123, 88, -61, -37, 34, -48, 51, -83, 53, 61, 1, -53, -73, 95, -108, 4, -49, 91, -77, -33, -88, -21, 28, -106, 105, -70, 37, 23, -19, -104, -113, 1, 19, 10, -56, -68, 115, -33, -79, 92, -18, 14, -81, -97, -36, -8, -62, 74, 113, 102, 17, 32, -49, -43, 64, -68, -7, -21, 70, -30, 7, -40, 37, -41, 22, 1, 40, -43, -103, 51, -28, 6, -79, -61, 109, 44, -33, 66, 36, 111, 7, -38, -7, 69, -67, -59, -11, -54, 110, -128, -98, 102, 72, 119, 55, 57, 71, -4, -31, 112, -68, 38, -37, 4, 28, -41, -83, 101, 27, -38, -63, 109, -87, -117, -104, 115, -12, -18, -57, -122, 109, 102, 81, 29, -53, 43, 62, 16, -1, -96, -38, 1, -1, -124, 126, -24, 104, -21, 65, 28, -128, -78, -20, -76, -32, -8, 74, 85, -83, -96, 100, -76, -101, -18, -10, -52, -3, 21, -48, 50, -40, -84, 99, 23, -95, 81, 82, 46, 1, 87, 113, 6, 116, -83, -85, 99, -39, -41, 85, 43, 76, -17, 119, 23, 71, 70, 99, -69, 125, 61, -96, 43, -128, -51, 90, 110, 124, 31, -52, -47, 34, 31, -72, 104, 115, -94, -58, -101, -28, 87, -111, 59, -15, -92, -68, -112, 31, -29, -82, 25, -128, -127, -123, 125, -112, -122, 107, -7, 76, 4, -47, -40, 93, 75, -114, -49, 68, 7, -103, -112, 38, 41, -85, -95, -74, 83, -13, 77, -83, -7, -121, 0, -87, 97, 69, 38, 112, 1, 75, -41, -44, 121, 4, -5, -51, -86, 84, -23, -72, -44, -120, 88, 48, -115, 22, -60, -48, -43, 8, 13, 59, 54, 14, -20, 46, 18, 17, -93, 115, 98, -72, 95, 31, 42, -88, -91, -14, -46, -106, -68, 77, -93, 105, 52, 74, -11, 59, -40, -62, -37, -36, -100, -116, -45, 21, -118, -45, 118, -112, -128, -119, -82, -96, -86, -98, -31, 19, 42, 122, -116, 64, 62, 38, -107, 44, -71, -18, -79, -109, 47, -102, 85, -14, -53, -83, 108, -105, 72, 43, -104, 30, 113, -4, 27, 50, 107, 108, 12, -45, 36, -104, -110, -110, 105, -115, -21, 126, 111, 25, -87, 73, 79, 31, -60, -115, 65, 77, 29, 110, 24, -49, 28, 20, 23, -80, -46, -78, -94, 6, -18, -10, 80, 114, 34, 95, 119, -121, -56, -118, -76, -67, -87, 50, 75, -15, -44, -81, 84, 66, -50, -109, 17, 15, 70, 45, -106, 91, -69, -70, 122, 65, 89, 67, 77, 68, 50, 57, 43, 125, -28, -83, 36, 126, -24, -66, -95, 27, 3, 91, 113, -115, -123, -24, 5, -68, 87, -65, 60, -113, -102, 120, 51, 28, 98, -18, 69, 28, 97, 35, 20, -33, 115, -36, 119, -128, 122, 52, -117, -3, 69, -57, 124, 115, 111, -107, -59, -120, -123, 43, -46, 70, 94, 84, -34, -86, 75, -39, 76, 54, -11, -80, 46, -99, 78, -34, -21, -72, -28, -64, -47, 73, -119, 116, 102, -74, 31, 99, -62, -82, -92, 86, 79, -73, 62, 44, 124, -71, 27, -3, 64, 78, 9, 13, 60, -52, -32, -14, 105, 59, -24, -48, -32, 25, 125, -97, 84, 42, 40, -40, -88, -65, 124, -23, 57, 25, 127, -62, 5, -91, -26, -75, 90, 12, 96, 1, -119, -118, 89, 85, 89, 76, -6, 7, -81, 56, 121, -9, -62, -55, -94, -81, 102, 51, 7, 37, -125, 47, 5, -16, -98, -80, 95, 76, 114, -128, 119, -126, 5, 125, 34, 22, 5, 16, -3, 74, -47, -14, 52, 97, 54, 122, -86, -111, 92, 45, 20, 33, -61, 62, -17, -120, -50, -92, 76, 72, -22, 9, -36, 8, -64, -64, -75, -63, 119, -59, -90, -10, 126, -89, -126, -25, -100, -126, -55, -10, 36, -15, 55, 87, -33, 59, 59, 20, -25, -20, 11, 45, -26, 64, 85, 47, 123, 82, -109, 104, -42, 80, 46, -41, -88, 104, -26, 117, 102, 57, 82, -26, 50, 82, -7, -43, -71, 61, 8, -11, 119, 59, -56, 78, -74, -50, -99, -63, -16, 11, -19, -87, 74, 115, -35, -7, -45, -103, -2, -21, 92, -67, -123, 107, -70, -104, -104, 31, 25, -44, 20, -54, 6, -81, -48, 6, 36, 56, -52, 125, -121, -32, -60, -94, 3, 98, -42, -101, 126, 29, -29, -105, -106, 25, 126, -13, 106, 33, 110, 108, -1, 2, -13, 93, -116, -111, 49, 90, -34, 29, 13, -78, 80, -67, -109, 36, 116, 103, 56, -100, -30, -105, 56, 124, 49, -104, -59, 8, 97, -8, 96, -113, 115, -31, 55, -76, -92, -125, -1, 105, 32, -111, 10, -3, -102, 87, 16, -103, -87, -22, 42, 119, 1, -33, 54, 126, -36, 61, -61, 32, 75, 49, -52, 32, -107, -10, 44, -67, -9, 116, -42, 43, -42, 94, -55, -13, -98, 123, 35, -112, 109, -38, -19, -60, -110, 44, -60, 105, 45, 55, -3, -106, -34, -42, 24, 9, -113, 104, -73, 55, -20, 42, 127, -89, -94, 87, -5, -88, -2, -12, 85, 13, -124, -101, -48, -54, -127, -84, 7, 53, 9, -112, -74, -86, -16, 59, -126, 83, -13, -114, -36, -105, 7, 35, 70, 118, -22, 68, 110, -63, -38, -70, -106, -116, -50, -73, 78, 60, 4, -114, 68, -9, -32, -111, -105, 97, 38, 32, 9, 68, -91, -30, 16, -89, 38, 83, -1, 69, 78, 55, -81, -22, -65, 64, -45, 25, -48, 87, 31, 117, 8, -24, -88, -123, -27, 85, 13, 49, 76, -80, -25, 67, 45, -76, -58, -76, 106, -106, 27, -73, -94, 84, 54, -67, -82, -63, 50, 17, 55, 119, 1, 62, -6, 53, -4, -37, -14, 27, 32, -87, -121, -30, -11, 96, 14, 112, 58, -82, -6, -66, -55, 22, -96, 71, -65, -111, 112, -65, -81, 7, 13, -63, -85, 54, 61, -32, -35, 124, -113, 122, 0, -108, 34, -46, 5, 30, 18, -47, 4, 77, -49, 70, 126, -104, 122, -44, 21, -12, 20, 22, -90, 43, -9, -25, -76, 98, 91, -124, -79, 53, -47, 115, -116, 26, 88, 42, 33, -35, -7, -122, -11, 34, 30, 123, -51, -67, -3, -28, 66, -103, 118, 69, 113, 89, -51, -80, -78, -91, -73, 119, -125, -5, -19, -25, -103, 70, -77, 86, -41, -59, 52, -22, 89, 79, -65, 42, 3, -119, 62, 9, 48, 28, 125, 61, 1, -24, 93, -32, -84, 26, -106, 53, 111, -78, 14, 39, 126, -34, -120, 58, -31, 49, -115, 71, -3, -62, 47, -15, -76, 91, -31, 91, 103, 29, -110, 92, 78, -106, -67, 21, -59, -53, -29, -68, -58, -84, -91, -118, 14, -50, -96, 103, 8, 67, 90, 49, 118, 120, -41, -36, 86, 65, 19, -67, -68, 22, 85, 51, -18, -6, 125, 40, 58, 3, -88, -65, 123, -74, -21, 23, 45, 44, 61, -95, -57, 118, 83, 6, -60, 60, -4, 121, -120, -98, -109, 16, 53, -2, -125, 71, 30, 85, -107, 36, 54, -24, 102, 105, 107, 84, 82, 48, -73, -23, 37, 121, -10, -114, 67, -128, -3, -62, 106, 116, -14, -24, 43, -110, -42, -102, -6, 44, 89, 37, 22, 65, -74, -73, -121, -75, 3, -39, 91, -107, -96, -87, 85, 92, -9, 14, -30, 43, -117, 125, -72, 111, -82, -97, 56, -57, 36, -42, 81, 75, -36, -24, -86, 103, -93, 99, -106, 11, -105, 21, 86, -74, -92, -95, 120, -32, 26, -36, -105, -107, -38, -23, -4, 93, -39, -33, 10, 104, -123, -33, -9, 64, -8, 105, -27, 56, 120, 33, -74, -60, 126, 22, -51, -39, -43, 123, -68, 40, 82, -41, 74, -69, 84, 21, -94, 35, -45, -45, -44, 65, -102, 89, 21, -92, -66, 17, -97, 65, -85, -86, -100, -67, -89, -10, -104, -118, 47, 9, -79, -86, -33, -75, 39, 29, -86, -74, 91, -100, -48, -70, 83, -101, 85, -86, 120, -51, -74, -71, 31, 63, 119, 22, -55, -86, -43, -48, -5, -50, -49, -52, 121, 58, 79, -35, 104, -10, 11, 105, 28, -35, 66, 96, -110, 97, 79, -11, 29, -59, -68, -92, 32, -60, 36, 87, -107, 80, 121, -68, -25, 95, -124, -12, 112, -40, -15, 44, -110, -111, 90, 106, -41, -50, -38, 8, -110, 58, 34, 15, -17, -92, -90, 36, 100, 48, 35, 122, -105, -75, 10, 118, -128, 107, 65, 11, 36, -126, 111, 9, -10, 57, -3, -57, 42, -29, 88, -56, 70, -117, -87, -55, -14, -22, 21, -18, -106, 65, 19, 119, 90, -124, 103, -122, -101, -91, -121, 107, 106, 1, 105, -40, -46, 72, -58, -102, -10, -33, 79, 66, -91, 94, -116, 77, -17, 104, -39, 59, 46, 22, 100, -75, 102, -20, -32, 96, -79, 23, -118, 91, 33, 67, 71, -123, 113, 14, -81, 46, 102, -122, -3, -128, 32, -125, -33, 69, 52, 71, -121, 108, -114, 32, 8, -69, 45, -24, -17, 43, -119, 46, -14, 109, -48, 55, -96, -10, 12, -24, -99, -53, -88, -111, 60, -109, 93, 123, 59, 70, -124, -36, -109, -122, 4, 120, -42, -44, -51, -112, -23, 26, -25, 62, -9, 44, -92, -78, -75, 37, 65, 110, 58, 18, -90, 110, 52, -39, -111, -26, 87, -77, 65, -4, -101, -52, 80, -44, 113, -65, -58, -15, -47, 82, 77, -44, 31, -109, 18, -99, 52, -67, -104, -87, -54, 98, 121, -13, -49, 89, -3, 119, -5, -98, 107, -38, -17, 121, 35, -6, 104, 7, -52, -46, 51, 119, 41, -123, 54, -74, 109, -15, 17, -59, -81, 102, -83, -24, -29, -85, 96, -73, 72, -22, 126, -23, 64, -112, 69, -39, 73, -17, -88, 86, 93, 24, 113, 36, -22, -35, 71, 67, -73, -30, 2, -109, -23, 18, -69, -120, 95, 18, 117, -112, 127, 77, 101, 104, 33, 105, -49, 50, 70, -6, 6, 29, -84, 11, 36, 124, -90, 117, -49, -26, -59, -115, 71, 48, -115, 74, -78, -54, 51, 95, 75, 73, 127, -24, 48, -97, 1, 44, 64, -91, -119, -40, -59, -88, 84, 81, -128, -61, 18, -9, 19, 43, 127, 59, 112, 99, 121, -31, 101, 126, 32, -57, 77, 97, 94, 19, -8, 25, -106, -22, 59, -8, -61, -90, 22, 26, 34, -67, 71, 94, 106, -87, 120, 51, -108, -60, -114, -83, 90, -115, -53, -101, 73, -97, 9, 55, 69, 0, -94, 59, 52, -62, 54, -57, 8, -16, 76, 44, -5, -35, 112, 34, 112, -8, 66, -90, -45, 82, 99, -91, 43, -89, -44, 88, 119, 64, -37, -91, -90, 20, 7, -97, 25, 8, 113, 37, 117, 105, 119, 18, 57, 117, 36, 8, -36, 1, -60, -39, 45, -67, -57, -67, -13, -60, 0, 12, -36, -54, -4, 80, -60, 88, 58, -82, 37, -93, 95, 1, 79, 38, -43, -64, -55, -68, 19, 112, -10, 127, 76, -19, -65, -55, -1, -88, 62, -110, 73, 28, -70, -34, 20, -90, -96, -4, 59, 123, -25, 25, -43, 84, 26, -89, -15, 117, 28, -121, 113, 84, 24, 69, -92, 19, 5, -111, -90, 34, 32, -67, 68, 5, 65, -87, 6, 8, 72, -115, -118, -120, 116, 67, 4, 12, -112, 100, -84, 116, -126, 20, -23, 93, 90, -128, 68, 122, 39, 54, 122, -17, -67, 72, 32, 64, 104, 18, 8, 33, 125, -93, 91, -49, -98, -3, -76, 103, -10, -100, -35, 61, -5, -123, 115, -14, -65, 111, 72, -18, -67, -55, -51, 123, -1, -17, -13, -4, 30, -96, -83, 95, -59, -98, 22, 120, -99, -37, 74, 77, 24, 79, 94, -71, -30, -5, 24, 127, -46, -94, 28, 123, -51, 89, -110, 87, 78, -111, -46, -60, -125, 12, 11, -54, -100, -6, -60, -87, -112, 24, -1, -127, -60, -117, -45, -67, 2, 92, -84, 63, 68, -46, -20, 21, -84, -120, -4, -47, 71, -115, 122, -71, -12, -83, 73, 66, 113, -93, 88, -13, -58, 14, -102, 38, 2, -113, 60, -72, -127, 8, -91, -120, 17, 115, 74, -74, 66, -22, 54, 27, -51, -74, -13, 14, 10, 27, -100, -71, 54, -58, -106, 76, 124, -111, -60, 5, -18, 124, -25, 1, 43, 66, -61, 80, 71, -110, 111, -127, 47, 53, -87, 26, -91, -60, 59, -14, -23, 123, -110, -13, -49, 54, -22, 73, -33, -113, -102, 79, -2, 88, -121, -108, 38, -35, -89, -14, -100, -23, -103, -113, -101, 96, -2, 57, 73, 125, -114, -13, -87, 126, -77, 52, 123, 123, -3, -86, -50, -10, -11, -12, 112, 100, -57, 101, 13, -12, -118, 116, -78, -6, 39, 1, 59, 106, -98, 110, -90, 104, -74, -34, -111, -84, 43, 64, 41, -117, -101, -64, -85, 122, 123, -123, -102, 6, -21, -89, 126, 88, 25, -15, -17, 37, -34, 23, 102, 102, 61, 22, -57, -19, 10, 83, -114, 17, 29, 122, 124, 23, -42, 89, 101, 88, -115, 64, -100, -21, -16, 64, 38, -3, 38, 106, -86, 37, -127, 107, 102, -116, -13, 14, 52, -41, -4, 30, -15, -110, 107, 102, 4, -1, 48, 51, -78, -33, 6, -35, 99, 6, -51, -34, 98, -57, 5, -11, 56, 52, 62, -36, -17, -44, 45, 33, -45, 29, 124, -61, -109, -110, 2, 28, -75, 22, 51, 102, 77, 122, 3, -61, 92, -66, 67, -38, -123, -105, 87, 102, 101, -50, -52, -86, 99, -51, -7, 68, -8, 22, 121, -87, 57, 122, 127, -2, 48, 51, -46, 34, 93, -10, -48, -49, -30, 127, -12, 79, -127, 22, 127, -78, -72, -77, 3, -93, -17, 127, -112, 99, 67, -95, 116, -45, -2, -58, 96, -1, 120, -109, -104, 66, 54, 20, -88, 43, 51, 0, -41, -64, -83, -116, 18, -38, 106, 88, -81, -22, -50, 102, 90, 13, 48, -117, -78, 2, -121, -102, -28, -58, -65, -7, 57, -31, -32, 38, -16, 27, -56, 49, 56, 110, 55, -99, 112, -83, -74, 49, 0, 95, 9, -48, -36, -116, 122, -48, -13, 101, -49, -111, -89, 95, 90, -43, -94, 8, 25, 114, 69, 93, -77, -92, -77, -60, -30, 73, 115, 46, -31, 21, -55, 80, 23, 104, -42, -99, -79, 32, 94, -75, -111, 102, -71, 46, 53, 97, 54, 126, -69, -104, 86, 75, 101, 21, -20, 42, -18, 62, 100, -11, -61, -117, -42, 127, -87, -113, -119, -27, 30, 1, -47, -59, 60, 44, 65, 85, -80, 67, 34, 30, -62, -95, 13, -28, 40, 58, -2, 92, -67, 127, 87, 46, 42, -125, -94, -56, -109, -36, 23, -11, 54, -94, -103, 95, -24, 17, 123, 6, -77, 37, -37, -6, 78, -49, -125, -18, 76, 36, 30, 60, -41, 58, -103, 110, -88, -5, -21, -36, -71, -106, -109, 124, 100, 77, -103, -59, 63, -5, -63, -9, 80, 58, -13, 39, -71, 86, 70, -35, -115, -61, -26, 25, -80, -95, 9, -59, 41, 74, -80, 46, -19, -93, 9, -38, -117, -44, 56, 125, 108, 47, 4, -110, 37, -29, 44, 41, -15, -95, -17, 87, -11, 111, 50, 7, -121, 118, 94, 52, 68, 16, -67, 117, -111, 35, -15, 97, -63, -33, 15, 49, 91, 97, 39, -20, 108, -121, -76, 108, 113, -116, 79, -53, -16, 21, -44, -45, 60, -19, 62, -29, 94, -32, -22, 34, -91, 12, -71, 101, 30, -14, 9, 118, -120, 37, -122, -34, -48, -54, 39, 38, -95, 117, -31, 99, -31, 75, 60, 79, -84, -90, -20, 66, 56, -41, 3, -58, -3, 53, -106, 7, 117, 47, 1, -68, 52, 39, -14, -126, 50, 73, 123, 118, 73, -60, -86, 12, -83, 18, 25, -104, -63, 87, -127, -79, -8, 88, 62, -67, -20, -66, 87, -8, 43, 64, 2, -4, 31, 116, -115, -122, -71, 94, 70, -99, -62, 27, 51, 31, 99, -30, 94, 46, -76, -90, -89, -29, 26, -105, -26, -39, 90, 64, -37, -101, 78, -123, -16, -25, -12, -105, -103, 43, -111, 43, -1, 32, -92, -34, -69, -35, 32, -15, -75, -31, 31, 28, 58, -25, 95, -49, 123, 27, 103, 124, 95, 15, -46, 66, 111, -33, 126, 114, 60, -8, 91, -3, 49, -26, -111, -58, 48, 56, 54, 65, -9, -61, -111, -64, -17, 51, -89, -55, -96, -107, -49, 88, 33, 96, 107, 82, 31, 87, -96, -37, -63, -65, 36, 60, -122, -98, -118, -39, 107, 18, 88, -65, -32, -11, 26, 105, -51, -71, -25, 60, -66, 99, -118, -44, 103, -26, -80, 13, 50, 37, 121, 93, 117, -78, 51, 111, 34, 48, -21, 34, -60, -36, 119, 47, -3, -123, -72, 45, 83, 23, -99, 14, -11, 31, 102, 70, 35, -102, -62, -70, -92, 29, 110, -112, 14, 26, -15, -17, 80, 95, 58, 71, 50, 77, -3, -47, 48, -11, -37, 59, 120, -120, -8, 69, -109, -52, -24, -28, 49, -102, 67, -36, 79, 51, -63, 60, 63, -106, -97, -119, -101, 9, -22, 60, -106, 54, 54, -86, 17, -77, -15, -86, -87, -11, -32, -21, -77, 112, 84, 28, -73, 93, -70, -96, 23, -62, 121, -113, -66, 111, -76, -9, 18, 126, 10, -39, -86, -59, 7, -67, -79, 46, -41, 108, -2, -105, 35, 61, -45, -94, 29, -41, -57, -77, 40, 70, -68, -18, -44, 62, -56, 52, 21, 27, 113, 60, -105, 73, -94, -121, 101, -86, -112, 92, 74, 95, -34, 1, 14, -63, -60, -106, -98, -1, -77, -101, -79, 101, 93, 59, -6, 18, -14, -87, 70, 103, 43, -3, -124, -50, 43, 32, -47, 63, -83, 110, 111, 41, 83, -22, 19, 79, 4, -113, 110, -42, -128, -50, -119, -26, -40, 118, 33, -98, -125, -65, 40, 71, -72, 100, -75, -36, -112, -21, 122, -70, 19, -117, 57, -57, 90, -60, 41, 122, 80, 33, -24, -81, -8, -120, 127, 50, 51, -86, 115, -103, 106, -112, 23, -3, -77, -99, -100, -41, 7, 77, -43, 76, 72, 88, -1, -76, 29, 25, -1, 59, 14, -21, -54, 78, 91, -1, 127, -64, -38, -1, 3, -42, -2, -113, 23, -1, 54, 70, -39, -1, -22, -30, -33, -57, 40, -5, 95, 93, -4, -37, 24, 101, -1, -85, -117, 127, 31, -93, -20, 127, 117, -15, 111, 99, -108, -3, -81, 46, -2, 125, -116, -78, -1, -43, -59, -65, -119, 81, -10, -65, -70, -8, -49, -128, 53, 114, 59, -38, 114, 52, -91, -89, -34, -93, 81, -4, 74, -48, -30, -64, -50, -53, -48, -104, -116, 9, 80, 22, -90, 122, 101, -31, -109, -53, -123, -24, -52, 9, 127, -36, 115, 41, -98, 24, 9, 29, -21, 44, -20, 8, 106, -24, -96, -36, -27, -62, -62, 7, 59, 124, 78, -98, 69, -58, 51, -5, 113, -91, 47, 13, -68, -103, 87, -111, -52, 59, -93, -56, -43, -94, 114, -87, 118, 83, -119, 124, 46, 26, 91, 60, -68, 7, -25, 2, 99, -1, -7, -18, -42, -120, -87, 111, -4, 122, -95, -71, -60, -12, 74, -31, -51, 78, -118, -6, 37, 28, 98, 42, -40, 51, 94, 116, 95, 108, -68, -74, -73, -55, -65, -109, 82, 125, 6, 12, -80, -69, 99, 50, 31, -113, -37, 54, -31, -68, 80, -21, -81, 3, 22, 82, 95, 108, 10, -106, 102, -22, 60, -12, 32, 38, -43, 104, 106, 83, -18, -3, 81, 101, 94, 79, 104, 115, 41, 34, 112, -33, 68, 14, -11, 88, 91, 52, 64, 99, -19, -94, 88, -108, 56, -78, 45, 57, -4, 67, -17, 87, 37, 41, 21, 39, 57, 40, -99, -66, -16, -10, -80, -116, -23, 0, -117, 40, -60, 98, 43, -27, 54, -19, 109, 7, -107, 68, -106, 36, -14, -100, 0, -24, 62, 26, -7, -2, 92, -86, -107, -10, -30, -83, -117, -71, 56, -42, -12, 109, -106, -60, -25, 119, 6, 68, 69, 65, 65, 25, 83, 49, 13, -24, 47, -68, 27, 88, 27, 91, -121, -57, 113, -38, 30, 113, 116, -50, 124, -75, -36, -79, -34, -104, -58, 125, 113, 13, -65, -9, 53, 124, -26, 54, -37, -63, 100, 0, -39, 92, 66, -45, 49, -102, -119, -10, 124, -83, -83, -94, 94, 40, 32, 59, 33, -41, -48, 47, -86, 5, -67, -41, -55, 86, -40, 60, -19, 52, -90, -36, 40, -90, 71, -113, -22, 89, -106, 55, -60, -95, -98, 93, 56, 57, 24, -4, -19, -43, -73, -68, 55, 102, 34, 25, -18, -32, -78, -111, 81, -91, -105, -26, 0, -83, 103, 15, 12, 67, -62, 21, 104, 121, -93, -47, 111, -20, 79, -116, 20, 122, 95, -112, -9, 27, 58, 121, -57, 14, 33, -78, -74, -6, 24, 59, 58, 11, 54, -70, -83, 95, 102, 65, 31, -34, 67, 23, -35, 58, 79, 90, 39, -116, -111, -122, -81, -89, 41, -51, 98, -29, -12, 32, -112, -19, -15, 113, 68, 32, 56, 75, -66, -63, 12, -100, 103, -90, 74, -47, -68, -58, 104, 121, -45, -30, 60, 28, 11, 54, -15, -11, 92, -33, 87, -83, -18, 81, 35, 89, 25, 117, 99, 75, 112, -36, 72, -110, -63, -51, 108, -37, -61, 46, -57, -125, -41, -108, -44, -122, -88, -22, 99, 46, 94, -71, -19, -45, -74, 84, 57, 127, -109, -18, -7, -101, -44, 65, 83, 4, -81, 101, 86, -26, -108, -7, 90, -117, -61, 99, 46, 37, -58, -69, -72, -65, 118, 8, 81, 59, 70, -83, 30, 100, -87, 13, 5, 88, -44, -70, 23, 78, 87, -115, 115, -37, -104, 50, -21, 106, -30, 79, -45, 102, -9, 106, -14, -74, 26, -29, 125, -58, -19, -88, -115, -115, -125, -66, -126, -77, 53, 37, 115, 1, -61, -34, -115, -98, -8, -126, -10, -5, 107, -27, -43, 74, 94, -17, 79, -99, -121, 70, -47, 79, 23, -9, -97, 104, 80, 52, -94, 126, 35, -23, -23, 120, -69, 64, 106, -7, 70, 86, -18, 34, 44, -20, -87, 119, 16, 99, 30, -38, -108, 1, 22, -43, -12, 3, -25, 92, 73, -46, -128, -24, 120, -65, 77, -42, -36, 20, -15, 54, 101, 82, 31, 97, -29, -23, 68, 127, -20, -76, 63, 50, -35, 92, 117, -119, 78, 34, 52, 83, 118, -12, -20, -57, 17, -43, 81, -84, -29, -45, 27, -72, 105, -119, -20, 90, 30, 82, 13, -49, 90, 13, 43, -86, -122, 103, 93, 45, 116, 85, 45, -44, 99, -106, -66, -74, -50, -86, -26, -29, 41, -18, -65, 79, -89, 75, 24, 2, 40, 20, -92, -81, 110, -97, 18, 9, 86, 71, 15, -63, -22, -55, -84, -42, 72, 81, -22, 117, -113, 59, -68, -121, 45, 96, 127, -115, 111, 104, 105, 121, 39, -75, 113, -27, -102, 47, -6, -49, 0, 13, -53, -119, 111, 69, -65, -82, -104, 106, -99, -119, -119, 89, 93, 23, 106, -42, -75, -39, -13, 119, 60, -62, -48, -46, 123, -37, -55, -70, 106, 117, -22, 40, -47, -84, 79, 51, -36, -44, 114, 51, -52, 61, 118, -70, 36, 114, -16, 115, 83, -100, -70, -41, -30, -97, -124, -95, 126, -70, -97, -75, -52, -21, 47, 111, 44, -46, 53, -98, -34, -22, -116, -15, -40, 24, 41, 11, 16, -102, -2, 29, -20, -79, 109, 106, -96, 16, -85, 98, 31, -42, 31, -50, 15, 36, -93, -117, 27, 30, -86, -5, -77, -19, 118, 104, 121, 50, 49, 41, -78, 87, 59, -94, 85, 96, -123, 113, 25, 35, -4, 25, 99, 76, -73, -60, 78, 109, -40, -30, -81, 57, 38, -50, -23, -105, 55, 79, -27, -77, -2, 28, 117, -117, 46, 39, -124, -94, -123, -25, 41, 61, 57, 95, 44, 116, 55, -47, 115, -124, -45, -90, 38, -35, -24, -73, -17, -76, 67, -110, 31, -37, -3, 57, -84, -20, -69, -80, -38, -103, -21, 126, -33, -79, -80, 44, 56, -14, 93, -30, -94, 125, -115, 47, -60, -17, 105, -12, -46, 99, 78, 81, 73, -36, 58, 63, 113, 62, -90, 72, 45, -36, -96, 88, 13, -12, -90, 72, 44, -17, 54, -5, 85, -72, 75, 91, 4, -46, 83, 116, -68, -111, 87, 66, 35, 104, 47, 57, -68, 108, -124, 9, 116, 95, -6, 24, -82, -17, 112, 66, 20, -8, -56, -70, 100, -48, -59, 48, 80, 24, -5, -57, -120, 85, 104, -116, 47, -59, 109, 6, -108, -1, -2, -116, 89, 96, -60, 58, -40, -91, -86, -57, 61, 35, -20, -72, -114, -57, 29, -9, -125, 87, -40, 60, 25, 16, 5, -4, -51, 81, 92, -6, 116, -111, 13, -71, -83, 109, -79, 109, 34, -5, -94, -112, -22, -93, -114, -127, -73, 39, -13, -48, -107, 111, -50, -67, 31, -21, 91, -35, -35, -79, -17, -2, -85, 84, -62, 37, 49, 21, -11, 120, -44, -97, 57, 112, -44, -91, 61, -54, -58, -28, -43, -87, -39, -22, -53, 10, -11, -61, -51, 99, -73, 18, 54, 75, 83, -107, 44, 75, 100, 33, -57, 69, 53, -98, 45, 38, -17, 72, 31, -87, 81, 61, -62, 22, 15, -24, -56, -72, 120, 2, -92, 96, -104, -1, -39, -110, -2, -34, 97, 60, -58, 61, 99, 88, 19, 20, -96, -100, -102, 49, 18, -50, -81, -55, 70, 83, -116, 58, 51, 69, 58, -20, -11, 80, -97, -65, 87, -122, -66, 59, -9, 122, 42, 90, 28, -8, -24, 14, -15, -23, -58, -15, 79, -69, 93, 31, -81, -21, 27, -103, 15, -48, 71, -93, -121, 125, -105, 6, 84, -108, -53, 22, 29, 79, 75, 31, -50, -61, 10, 14, 123, 126, 122, 85, 46, 21, -102, 54, -116, -90, 79, -125, 127, 51, 103, 37, -89, -19, -74, -15, -119, -89, -55, -54, -12, -53, 28, 23, 15, -84, 72, 85, 55, 49, 46, -110, -109, -118, -20, 81, 123, -70, -80, 48, -84, -100, 68, 2, 63, 125, 124, -30, -108, 107, 40, -30, -117, -48, -88, 95, -32, 44, -72, -54, -21, -12, -80, 114, -58, -39, -68, -33, -52, -59, -128, -52, 82, 3, -38, -47, -72, -83, 34, 104, 122, -57, -100, -33, 103, -9, 83, -61, -54, -88, -67, 5, -91, 11, 98, -124, -9, -84, -5, -67, 123, 8, -60, 41, 105, 54, -5, -62, -85, 77, -111, -31, -104, 60, 114, 84, 78, -2, 39, -48, -125, 27, 93, 0, -51, -112, 23, -65, 127, 80, -18, 78, -88, 2, -89, -74, -35, -22, 22, -75, 49, 62, -83, 116, -81, 110, -43, 37, 41, 14, -15, 84, -79, -60, -102, -18, 112, 22, 85, 122, 39, -37, -82, 83, 84, 59, 66, 20, -44, -24, 63, 20, -111, -99, -69, 90, -118, -26, -84, 125, 86, -90, -34, 45, 6, -19, 10, 85, -98, 57, 110, -77, -54, -17, -22, 47, 59, 92, 116, -77, -89, 87, 51, -9, 67, 82, 34, -24, -18, 91, -99, 24, 81, -117, -124, -113, 93, -14, 42, -122, 124, 98, -86, -42, -39, 31, -116, 28, -107, 107, 46, 78, 90, -8, -26, 64, -50, -33, -32, 68, 56, -41, -73, 3, -78, -62, 44, 36, 40, -126, 95, -49, 63, 65, 71, -36, -3, -99, 117, 51, -6, 3, 56, -54, 80, 115, -42, -32, -53, 88, -72, -78, 126, -59, -89, -84, -93, -73, -41, -56, 117, -121, 58, -10, -33, 48, 31, 70, -35, -26, 92, 10, 42, -66, -47, -28, 67, 15, 10, -94, 127, 60, -91, -29, -12, 116, 92, 70, 106, 104, 5, 45, -17, -57, -97, -59, -47, -49, -100, 26, 107, -121, -49, 98, 51, -11, 32, -4, 43, 42, 86, 14, -122, -88, -54, -84, -90, 30, 40, 63, -94, -27, -19, -36, 86, 110, 109, -17, -16, 116, 106, -8, -112, -128, 33, 125, -50, -104, 88, 109, -112, -5, -75, -6, 70, -13, -91, 1, 7, -42, 63, -44, 29, -111, -8, 62, 102, -50, 84, 57, -10, -38, 108, -22, -58, -102, 119, -75, 105, -65, 119, 85, 91, -103, 82, 5, 38, -56, 65, 26, -42, -30, 116, -28, -110, 41, -43, -74, 95, -84, 118, -108, 85, -125, 91, 96, 121, 67, 81, 102, -51, -93, -24, 30, -19, 100, 42, -31, -101, -43, -26, -81, 64, -95, -37, -63, -65, -13, -19, 79, -83, -18, 94, -86, 46, 37, 78, -59, -3, 67, 7, 118, -118, -34, 40, 74, -66, -113, -98, 82, -110, -24, 30, 28, 116, 124, -82, 116, -42, 88, 11, -4, 65, 55, -9, -125, 74, -101, 115, 123, 29, -50, 79, -110, 125, 78, -111, -34, 57, 76, 29, -19, 21, 11, -92, -87, -44, -40, 76, -49, -98, -85, -75, 33, 62, -77, 69, -76, 120, 30, 97, 76, -86, 98, 102, 125, 114, 103, 47, 32, 124, -125, 28, 44, 124, 69, 31, 97, 39, 99, 113, -19, -85, -20, -55, -69, -18, 15, -24, -91, 124, -11, 27, 104, -49, 104, 74, -51, 117, -94, -124, -94, -4, -53, 59, -109, 66, 75, -28, -91, -121, 98, -93, 122, -40, 63, 110, 119, 79, 75, 75, 41, -2, 21, 99, -58, -113, -110, 127, 67, 2, 127, 112, -54, 67, -87, -115, -91, -70, -58, -24, 35, 90, -36, -114, 48, -114, -10, 6, 36, 70, 7, 104, 6, -91, -43, -104, 9, 18, -12, -66, 62, -114, -116, 11, 10, 29, -56, -125, 19, -21, 66, -11, -26, 25, -3, 109, -41, 76, -76, -110, 118, 64, -32, -45, -126, 40, 29, -36, 85, -99, 105, -103, -3, -37, 55, 10, -61, -13, -38, 22, -21, -59, 50, 116, 92, 22, 58, 110, -21, -97, 16, -2, 14, 125, 88, -122, 98, -18, -112, -41, 86, 51, 65, -7, 47, -75, -26, 76, -38, 77, -62, -29, 114, 114, -67, -118, 31, 59, 90, 95, -27, 66, -69, 60, -53, 106, -53, -40, -80, -96, -124, -125, -59, 18, -46, -9, -63, 47, 50, -68, 0, 13, -27, 74, 99, -93, -121, 2, 34, -108, -112, -100, 114, 3, 107, 70, 76, 121, -65, -124, 38, 87, -91, -59, 82, 94, -31, -124, -99, 30, 17, -120, -37, -46, 62, -104, -85, 99, 79, 111, 71, -83, 22, -58, 118, 119, -42, 24, 78, 63, 58, -71, 82, -105, -84, -99, 105, 17, 16, 78, 58, 61, 127, 106, 101, 21, 70, 52, -6, -67, 76, 80, 58, 59, -50, -66, 55, 80, 92, 79, -28, 85, -100, -53, -91, 114, 83, -18, -17, -35, -64, -85, -125, -83, 97, 6, -61, 48, -22, -75, -105, -103, 100, 125, -35, -39, -73, 71, -39, 42, -115, -24, -122, 51, -9, -73, -100, 36, -51, 2, 125, 70, 58, -99, 111, 124, 82, 62, -1, -35, 44, -40, 96, -10, -68, -28, -115, -69, -7, 71, -90, -58, -44, -76, 60, -44, -22, 71, 1, 97, -55, 3, 30, 35, -17, -113, -14, 59, -100, 16, -103, -62, 4, -105, 56, 55, 59, -104, -103, 115, 32, 32, -31, 119, -46, -35, -7, -66, -94, 26, 72, 73, -11, -37, -122, 49, 33, -22, 122, -11, 105, -125, -39, 57, 115, -64, -77, -14, -79, -54, 46, -10, 2, 107, -65, -7, 111, -97, -45, 54, -95, -62, -81, -35, -36, 56, -87, -108, 57, 38, 48, 88, -4, 11, 118, 75, 80, -11, -96, -23, -7, -53, 11, -33, -41, -100, 79, 74, -90, -116, 19, -38, 77, 63, -1, 81, 71, -23, -5, 61, 67, -123, 64, 2, -82, 46, -96, -68, -18, 86, -107, 85, 57, 27, 26, -16, -119, 1, -125, 14, 86, -83, -92, 28, -25, 6, 75, -53, -90, -51, -109, -81, 62, -5, 62, 112, -108, -33, -6, 31, -114, 3, 102, 61, -18, 41, 48, -9, 115, 70, -117, -91, -116, -86, 99, 106, -20, -60, -86, -9, -61, 41, -9, 1, 126, -6, 55, 111, 9, -72, -11, -21, 71, -77, -100, 11, 46, 34, -80, -88, 4, -68, -4, -29, -38, 47, -71, 126, 121, -51, -18, 69, 64, -28, 13, -85, -104, -73, 93, -39, 105, -62, 123, -7, -79, 123, -63, -62, -41, 29, 114, -126, 95, 61, 119, -39, 11, -1, 10, -1, -10, -3, -66, -66, -47, -112, 20, -14, 75, -2, 123, -124, 24, 122, -119, 22, -58, -28, -110, -117, -54, 4, -105, -75, 92, 126, -27, 17, 66, 116, 95, -67, 4, -59, -43, 109, -33, 35, -24, 89, -31, 101, 95, 37, 35, -58, -29, -49, 81, 4, -53, -83, -121, -34, -71, -34, 43, -42, 113, -124, -24, 121, -11, 28, -40, -16, 91, -120, 78, 97, 14, 63, -8, -96, 95, 114, -1, -80, -47, 9, -128, 38, 60, -80, -43, -21, 108, -56, -67, -110, -98, -31, 1, 27, -105, 55, 114, -23, 124, 98, -70, -17, -63, -96, -48, -93, -32, -47, -99, -113, 54, -17, -2, 88, 122, 27, 111, 24, -19, -109, 8, -113, -103, 33, -11, 12, -65, -119, 1, -92, -22, -115, 99, -118, 70, -65, 31, -11, -104, -100, -83, 22, -32, 63, -121, 112, -93, -57, -67, 54, -7, -14, 27, 47, 64, -45, -99, 123, 65, -51, -81, -66, 76, 115, 120, -1, -4, 11, 79, 18, -77, 120, 0, -16, -37, 8, -112, 23, -29, -74, 33, 40, -62, 120, 26, -68, -107, -62, 47, -43, 71, 60, 33, 28, 100, -104, -69, -92, 24, 62, 52, 102, 106, 43, -70, 6, 9, 121, 127, 76, -91, -7, 86, -50, 47, 122, -34, -11, 79, -65, 101, -78, 71, -61, 104, 37, 57, 47, 126, 69, 101, 56, -10, 63, -50, 42, 97, -76, -30, -62, 68, 72, -56, 93, 127, 8, -72, 42, 106, -17, -53, -21, -67, 7, -118, -84, -17, -25, -100, 14, 108, -57, -89, -85, 46, 123, 87, 57, -81, 29, -15, -71, 52, -117, -83, 105, 113, 54, -14, 93, 39, 121, -37, 7, -48, -89, -41, -33, -39, 19, -79, -10, 72, -37, 75, -94, 116, -75, -95, 21, -111, -11, -99, -16, 80, -118, 0, -62, 96, 102, 74, 39, -26, 0, -95, 95, -20, 123, -47, -49, -40, 121, -2, -90, 115, -1, 37, 120, 115, 86, -84, 12, 74, -32, 79, -58, -20, -43, 26, -41, -103, -32, -81, 125, -54, 83, 70, 76, -99, -20, -5, 81, 102, 65, 55, 73, 35, -123, -81, -116, -13, -23, 49, 12, -91, 107, 115, -81, 110, -109, -125, -17, -19, 120, -2, -11, 102, -24, -31, 107, 105, 28, -32, 50, 46, 82, -111, -99, 127, -37, -63, 8, 3, -79, 100, 88, -110, 34, 113, -33, -7, -34, 42, -73, 38, -83, 119, -54, 14, -101, -120, -97, 10, -65, 59, 14, -66, 85, 88, -89, -72, 113, 44, -76, -61, 23, 40, -43, -30, -76, 13, 32, -52, -68, 89, -66, 91, -46, 99, -76, 113, 114, 62, -108, -86, -24, -71, -44, 70, -69, 97, 39, -80, 18, 45, 6, -61, -8, -40, -85, 126, 42, 57, 39, -89, -27, -29, -87, -13, -126, 37, -59, -25, 113, 33, 23, -16, -119, 120, -31, -96, 28, -73, 115, -9, -32, 119, -124, -17, -6, 41, -22, -103, -31, -78, 53, 79, -93, 53, 53, -44, -81, -9, 102, 94, -58, 78, -39, 27, 126, -92, 14, -66, -116, 53, 6, 41, -33, -3, -107, 98, 39, 125, -110, -11, 36, 63, 109, 107, -3, 60, 66, 15, -8, -119, 47, 96, 89, -24, -5, 89, 117, 99, 94, 9, -11, 18, -104, 81, -102, -117, -36, -6, 117, -25, -22, 63, 106, 74, 36, 6, 47, 63, -40, -127, 20, -7, -21, -2, -42, -80, -8, -83, -110, 118, -32, 0, -12, 81, -92, -59, 94, 51, 115, 95, 3, -40, 29, 7, 40, -97, 67, 54, 92, 45, -20, -112, -38, -45, -21, -3, 75, -45, -66, 81, 36, -4, -79, -62, -8, -72, 13, 22, 87, -83, 97, -27, -119, 3, 48, 77, 28, -63, 113, -49, -98, 23, -100, -96, 103, 70, -67, 32, 60, -52, -33, -21, -68, -45, 96, 29, 112, -45, -11, -26, -23, -49, -119, -33, 9, 85, -109, -33, -59, 4, 31, -23, 60, 40, -68, 98, 37, 93, 125, 67, 92, -17, 60, 107, -41, 125, -40, -16, -11, -48, -103, -60, 42, -15, 0, -77, -124, -46, -33, 82, -1, 112, -72, 103, -109, 40, -16, 73, -55, -66, 121, 63, 60, 46, -47, -128, -98, 57, 53, 101, 126, -3, 5, 10, 18, -75, -21, 110, -73, 54, 95, 82, 0, 62, 81, 77, 29, -12, -43, 26, -118, -111, 118, 120, -9, 75, 20, -72, 47, -54, -53, -38, 90, 26, -103, 123, 90, 73, -45, 106, 24, -120, -68, 25, -113, -92, -97, 71, -42, 88, -35, -107, 96, 126, -11, 66, -66, 24, -71, -76, -49, -13, -84, 49, -30, -51, -125, -122, 4, 88, 114, 84, -28, 31, -67, -126, -110, 119, -8, 48, 119, -78, 92, 19, 68, -4, -46, -14, 120, 74, 107, 100, 82, 119, 100, 119, 68, 66, -77, -103, 6, 58, 5, -49, 15, 101, -85, -40, 126, 13, 92, 86, -7, 45, 6, -64, 110, -57, -9, -56, 106, 127, 28, -90, -66, 63, -84, 35, 110, 0, 74, 110, -125, 10, 94, 42, 41, 25, 59, -12, -20, -110, 75, -63, -59, -5, -8, 10, -113, -41, 6, -99, -21, -125, -53, -42, 95, 21, 51, 79, 41, 29, 10, -69, -76, 33, -18, -10, -27, 21, 51, 80, 60, 5, -27, -5, -106, 38, 40, 118, 68, -102, 99, 102, 112, -12, -117, -128, -14, -88, -4, -70, -9, 8, 62, -81, -24, 20, -52, 2, -36, 92, 70, -106, -39, 58, 39, -19, -71, 8, 112, -116, 74, 125, -22, 71, -52, 114, -77, 126, 47, 83, -7, -96, -56, -101, 87, -104, -61, 54, -104, -67, 67, -54, -22, -78, 54, -26, -92, -59, -20, -31, 7, -82, -16, 14, 115, -66, -22, -37, -126, -13, 46, -8, -101, 41, 92, -37, 41, 120, -42, -43, 78, 91, 83, 20, 81, 102, 17, -73, 79, -33, 80, 40, -44, 38, -7, -111, 58, 64, -31, 67, -35, 77, -58, 46, -122, 123, 86, -74, 50, -65, -125, -85, 50, -19, -3, -24, 84, -73, -89, -42, -18, 31, 26, -34, 97, -93, -97, 104, 60, 25, 90, 24, 94, -11, 40, -16, -112, 79, 17, 113, -33, -31, 15, -115, 17, 17, 117, -119, 12, 120, 68, 96, -10, 0, 19, 59, 21, 59, -106, -18, 60, 112, -24, 49, -13, -101, 77, 53, -69, -54, 10, 53, 96, 40, -106, 26, -60, 68, -54, 47, 115, -80, 15, 8, 22, 122, 69, 26, -97, 39, -128, -106, 83, 57, -113, 36, 25, -90, -110, 111, 17, 23, 118, -74, -111, 23, -96, 9, 85, -6, -5, -41, -65, 66, -126, -2, -124, 86, -115, -84, -95, -106, 6, -65, 40, -43, 101, 34, -26, 98, 17, 115, -9, -12, 124, -117, -82, 53, 107, -35, 25, -87, 67, -19, -81, -4, -79, 3, 97, -78, -126, 81, -71, 31, 112, -27, -100, 64, -74, -14, 125, -32, -122, -47, -120, 35, 99, 59, 106, 59, -81, 41, 11, -112, -64, -84, -48, -6, -124, 122, -124, 2, -115, 75, 122, -71, 33, -35, -125, -78, -53, 81, -79, 9, 16, 67, 20, 75, 114, -102, -51, 64, 90, 127, -73, -59, -25, 51, -16, 7, -124, -25, 69, -118, -115, 102, -102, -84, 94, -104, 101, 109, 20, 27, -75, -43, -67, -75, -127, -5, 69, -2, 113, 17, -89, 27, -1, -121, -122, -50, -25, -16, -55, -7, 67, 15, 81, 60, -33, 101, -112, 60, -33, 57, -109, -4, 116, 75, 11, -18, 106, -63, -98, -63, 110, -112, 36, 113, 50, 10, -114, -14, -47, 100, 69, -86, 46, -33, 38, 7, -19, 127, 99, -48, 79, -115, -25, 74, -76, -40, 46, 116, -106, 8, -73, -85, 62, 77, -37, 67, -102, 9, 15, 123, -13, 79, -42, 78, -66, 111, -97, 48, 64, -41, -6, 74, 50, -44, -46, 68, 79, 113, 31, 63, -100, 127, -76, -101, 52, -1, -56, 106, -48, -83, -48, -65, 43, 37, -115, 20, -79, -113, -94, -100, 80, -91, -68, 23, 83, 106, 31, 69, 15, -83, 43, 118, -72, -97, 93, 14, -85, -65, -93, -25, -62, 104, -100, -45, 26, -66, -43, 37, 0, -13, -126, 43, -18, 62, -74, -100, 75, -65, 76, 92, -78, -20, -81, 106, 101, -38, -109, 82, 2, -18, 119, -82, -9, 46, -7, -17, -108, -42, -64, -19, 8, -116, 47, 119, -62, 87, 105, -11, -110, -2, -41, 71, 14, -66, -62, 102, -49, 88, 58, 111, -2, 106, -117, -27, 12, 82, 63, 87, 69, 117, -106, -38, 8, -12, -44, 89, -50, -37, 48, 59, -57, 91, -86, -62, 35, 18, -22, 118, 88, 71, 36, -85, 18, -23, -31, 30, 53, 78, 35, -49, 22, -105, 10, -73, 57, -15, 56, 63, 119, 64, 126, -1, -4, 21, -84, -91, -17, 47, -59, -32, 10, 4, 15, -68, 57, -96, 115, -67, 49, 49, -23, 16, -79, -39, -33, 120, -50, 97, 14, -8, 11, -102, 84, -46, 20, 40, -61, -36, -79, -80, 25, -82, 32, -67, 75, 24, -51, -65, -56, -72, -71, -89, -81, 53, -82, 48, 105, 49, 78, -34, -80, -59, 63, 100, -8, 40, 33, 101, -73, 93, 5, 110, -46, 15, 32, -108, -104, 4, -53, 18, -59, -99, 71, -89, 27, 37, 119, -34, -75, 88, 52, -3, -34, -6, -106, 21, -31, -85, 56, 27, -79, -57, 8, -67, 126, 106, 112, 126, -92, -77, -122, -29, -43, 35, -70, -55, 46, 70, 77, -119, -70, -118, -18, -60, -15, 67, -10, 0, -73, 28, 88, 105, -50, -113, 45, 73, -83, 0, 78, 14, 53, 121, 47, 54, 40, -84, 54, 105, -17, -94, -59, -10, 25, -23, -23, 110, -33, 96, 14, 120, 91, -18, -19, -74, 32, -51, -94, 57, -23, 33, -70, 98, 81, 107, 103, 59, 88, -12, -74, 37, 61, -33, 127, -47, 2, -86, -57, 56, 21, -41, 35, -61, -3, -77, 97, 114, -21, -44, 100, 82, 108, 114, 77, 95, 103, -53, -85, -13, -36, 2, 71, 91, -15, 28, -115, 32, 32, -11, 6, -80, -84, 96, -12, -35, 50, -74, -71, -121, -79, -96, 78, 104, 105, 81, -94, 118, 118, 41, 51, -108, -33, 14, 113, 39, 8, 111, 3, -3, -103, -55, 90, -69, 2, -112, -16, 44, 109, -37, -91, -107, 121, 38, -33, 113, 99, 78, -93, 20, 1, -78, 97, -56, -78, -103, 9, 65, -121, 31, -116, 107, 12, 2, 47, -32, -94, -28, -82, 18, 121, -106, -123, -66, 0, -100, -5, -64, 85, -99, 14, 105, 65, -44, -77, 56, 106, 57, 91, -82, 120, -6, -73, 57, -50, -26, 81, -37, -13, 113, 37, 14, 27, -80, 101, 59, 41, -67, -113, 74, -34, 16, -42, -77, 77, 61, -76, -40, -18, 3, 50, 109, -87, -98, 39, 99, 105, 119, -57, 55, -80, -84, 17, -121, 24, 101, 46, -119, -6, 99, 105, 5, 43, 81, -109, 35, -3, -61, -83, -4, 60, 5, 49, -73, -49, 11, 66, -40, 59, 22, -74, 0, 43, 109, 87, 39, 53, -44, -30, -121, 70, -38, 65, 10, 21, -107, 6, -19, 88, 104, 47, 102, 85, -24, 111, 121, -19, -75, 30, -18, -105, 30, -89, -8, 126, 24, 87, -94, -118, -57, -50, -64, -25, 122, -63, -51, -108, -34, 85, -6, 74, -81, -94, 121, 95, -53, 99, -12, 18, -113, -117, -7, -124, -34, 123, -42, 110, -89, 42, 94, 108, 24, 74, -118, 74, -69, -115, -58, -95, 38, 54, 15, -31, -58, -17, 119, 6, 114, -43, -82, 106, -18, -117, -49, 38, 45, -4, -70, 119, -81, -17, -84, 41, 82, 76, -40, -5, 116, -9, 111, -94, -34, -40, -51, -8, -31, -43, -95, -104, -35, 117, -56, -76, 76, -96, 23, 57, 118, 22, 80, 58, 37, 3, 93, -4, 44, -72, -83, -69, -27, 72, -38, 102, -87, 14, -13, 78, 84, -63, 46, 58, -11, -61, -97, 14, -44, -10, 17, -53, 58, 51, 52, 35, -99, -39, 5, -83, -61, 8, -65, -78, -105, 1, -8, -67, 81, 66, -100, 54, -92, -18, 44, 53, -68, -31, 62, 57, 55, 102, 120, 27, -32, -84, 112, -99, 92, 37, 30, -81, -80, 95, 95, -51, -2, 46, -88, 75, 10, 100, 48, 20, -112, 41, 76, 98, 124, -89, -73, -107, 3, 87, 104, -109, 47, -48, -23, -19, -69, 69, 118, 100, -76, -37, -25, 71, -72, -123, 92, -59, -79, 117, -41, -41, -40, 102, -123, -103, -107, -33, -73, 120, 10, 22, -124, 126, -54, -111, -6, 10, -39, -125, 4, -62, -31, -62, -84, -58, 8, -54, 8, -21, 94, 99, 25, 30, 49, 23, -22, 25, -15, 79, 49, -97, -38, -104, -117, -37, -107, -13, -102, -45, -36, 96, -92, -72, 18, -36, -42, 104, -18, -36, 122, 123, 46, -126, -100, -122, -85, 121, 6, -64, -106, -22, -77, -18, -91, -43, -79, -10, 113, -24, -43, 70, -19, 13, -109, -51, -86, -106, -89, -64, 13, -7, -67, -9, 4, 92, -37, 37, -8, 19, -126, -2, 112, 60, 48, 107, 6, -73, -50, 62, 28, -77, 26, -65, -69, 59, 8, 6, 58, -44, 11, 5, -19, -33, -66, -120, 47, 31, -86, -23, -53, 122, -37, -94, 37, -79, -90, -9, -11, 40, -109, -77, 35, -52, -121, 109, 116, 27, 38, 124, -80, 37, -121, -78, -58, -102, -24, -45, -9, -63, 113, 120, -44, -109, 59, -24, -18, -11, -84, 23, 59, 57, 78, -92, -63, -33, -8, 67, -59, 2, -66, 19, -106, -16, -30, 73, -70, -127, -99, 85, 47, 45, 110, 53, 67, -88, -83, -73, -73, 95, 121, 22, 3, 47, -95, 55, 126, -43, -26, -52, 17, 71, -126, 45, 26, -105, 39, -105, -74, -37, -113, -45, 71, -41, -45, -78, 55, -5, 88, 5, 5, 111, -88, 118, -26, -5, -122, -23, 72, -58, 39, -17, 96, -11, -57, -127, 82, 75, 31, 125, -98, 74, -76, -121, 53, 126, -83, -23, 86, -36, -100, 93, -41, -98, 56, 2, -41, -121, 62, -41, -31, -94, 83, 109, 87, -53, 41, -107, -107, 0, 118, -48, -116, 87, -100, -52, 38, 126, -83, -5, -45, 60, 43, 96, -80, -97, -85, 72, -70, -54, -85, 107, -18, -56, -23, -60, 51, -91, 80, -92, -60, -91, 80, 69, 17, -75, -46, -47, 58, -30, -23, -81, -118, -19, 70, -122, -66, -28, -18, 119, 106, 0, -81, -28, -125, -75, 123, 67, -4, 116, 60, -75, -101, -24, 108, -110, 117, -41, 98, -1, 122, -53, -126, -34, -46, -21, -79, -48, -59, 67, -5, 47, -128, -2, -8, -123, -29, -76, -75, -11, -56, -46, -126, -38, -78, 103, -15, -117, -1, 0, -27, 114, 123, 49, 20, -25, 96, -118, 108, -124, 75, -44, 118, -69, -119, -37, -45, 13, 72, -35, -37, -115, 87, -56, -86, -84, -6, 127, -54, -9, 124, 35, -66, -121, -88, -110, -58, -81, 62, -93, -107, 118, 123, 120, -34, -21, 63, -3, 83, 41, -1, -28, 65, 107, 69, 74, -19, -88, 47, -5, 104, -25, 75, -60, -109, -84, -91, 81, -37, 35, 104, 85, 109, 122, 88, 80, 103, 22, -48, -65, -51, -52, -73, 54, 97, 107, -40, -111, -53, 20, 102, 107, 114, 84, 2, -114, -56, -36, 71, 91, 114, 41, 33, -67, 73, 75, -60, 54, -47, 49, -32, -50, 102, -12, -113, 120, -49, -86, -39, 111, 124, 17, -61, 84, -76, 115, 85, -9, -114, 10, 95, 1, 82, 45, 32, 36, -96, -74, 27, 95, -88, -13, 62, -28, 21, -69, -61, 119, 54, 102, 105, 81, -81, -41, 110, 49, -115, 40, 9, 5, -20, -28, 114, -107, 72, 70, 77, 31, -71, 118, -50, -26, 51, -75, 51, 43, -117, 22, -97, 94, 90, -50, 12, 67, -45, 26, 2, 59, 49, -15, 91, 18, -80, 115, -109, -69, -67, -105, 11, 55, 117, -55, 95, 113, -78, 22, 20, 37, -88, 81, -9, -54, -63, 120, -56, -23, -128, 101, -26, -55, 25, -3, 16, -20, -45, -26, -79, 72, -52, -59, 124, 118, 44, -102, 30, -110, -34, -46, 105, 118, 83, 48, -13, -69, 123, -33, -73, 4, -73, -127, 99, 65, -110, -40, 39, 18, 59, -27, 57, -85, -95, -102, -13, 27, 28, 81, 46, -72, -15, 119, 78, 39, -19, -58, 60, -60, -125, -53, 9, 89, -91, -15, -77, -34, 34, -15, -3, 90, 123, -123, -19, -95, 53, 11, 72, 127, -89, 23, 7, -97, 116, 42, -39, -125, 47, -30, 11, 50, 52, 51, 52, 94, 63, 27, 8, -71, -64, -15, -11, 110, 88, 40, -91, -81, -44, -26, 115, -47, -23, 95, -80, 14, 45, -10, 51, -82, -13, -75, -74, 111, 17, 80, -25, 118, -59, -11, -78, -51, 19, -116, -77, 104, -32, 100, -98, 5, 99, 44, -115, 113, -57, 105, 111, 97, 38, 83, 48, 4, -10, 93, 126, -23, -97, 96, 33, 17, -49, 12, 88, -121, 89, -9, -43, -41, -116, -66, -33, 93, 57, -46, -114, 111, -31, 5, -66, 72, -5, -95, 68, -22, 98, -104, 54, 89, -79, 37, -7, -18, -55, 84, -51, 55, 24, -83, 55, -55, 20, -50, -103, -8, -97, -122, 94, 27, 87, -51, -27, 74, 25, -50, 80, 56, -117, -85, 56, -113, -24, 73, -33, 75, -48, 23, -117, -121, -103, -125, -108, 19, 100, -49, -18, 82, -73, 116, -63, 109, -60, -13, -107, 75, -33, -113, -110, -9, -72, 41, -98, 121, 33, 23, -102, -81, -74, 103, -13, -75, 69, -46, 37, 47, -32, -36, -103, 66, -22, 26, 10, -19, -6, 80, 43, 101, -92, 44, 100, 33, 116, -7, 11, -17, 60, 25, 33, 116, 7, 113, 98, 110, 77, -21, -27, 6, -51, -123, 60, -88, 95, -24, 29, -92, 74, -71, 94, 88, 25, -61, 62, -96, -59, -1, -119, -78, 6, 66, -10, -120, 73, -22, -105, 102, -32, -25, -90, 64, 115, 121, -103, -81, -99, -47, 75, -91, -13, 44, 90, -77, -4, -80, -58, 29, -59, -21, 22, 61, 105, 16, 71, 71, 4, -5, 75, 94, 106, 108, -106, 58, 18, -43, 29, -21, 98, -45, -112, -100, 20, -82, 15, -60, -30, -65, 77, 110, -121, 102, -66, -99, -7, -80, 70, 19, -80, -40, -45, -54, 59, -99, 116, 5, 18, 25, -12, -118, -4, 91, 122, -120, -9, -62, 75, -11, -106, 89, -78, 125, -41, -10, 114, -103, 17, 0, 58, 20, -70, -35, 77, 15, 31, -29, -85, 3, -8, 39, -73, 100, 17, -91, -105, 50, -46, -77, 30, -44, 25, 111, 30, 65, -121, 71, 106, -68, 105, -66, 2, 9, -121, -41, -116, -124, 48, 54, -35, 119, -73, -46, -104, 126, -43, 35, -21, -74, 58, 40, -93, 52, 84, -56, -39, -11, 86, 61, 77, -35, 62, -25, 15, 5, 44, -17, -85, -68, -51, 55, 117, -38, -106, -83, -4, -26, 20, -14, 124, 89, -9, 76, -95, 126, 99, 44, 7, -86, -57, -82, 41, 106, -111, -113, 123, -47, -87, -73, 102, 25, -3, 83, -112, 39, -64, 97, 47, -81, 61, -115, -39, 126, -60, -94, -52, -73, -42, 99, 123, -92, -3, -90, -17, -26, 56, -71, -19, -48, -56, -42, 23, 5, 15, -82, -6, 25, 114, -117, -16, 15, -100, -113, -33, -88, -26, 37, -114, -107, -109, -125, -66, 50, -13, -50, -100, -128, -66, -8, -51, 71, -33, 116, -106, -91, -23, -13, 21, -66, -100, -35, 84, 31, -5, 36, -90, 31, 57, -94, -17, -80, -57, -91, 60, -115, -47, 31, -82, 78, 37, -34, 10, 110, -126, 39, -77, -58, -121, -26, 116, 44, -48, -41, -54, 35, -13, 6, 80, -15, 120, -47, -34, -128, 68, 82, -113, 20, 48, -69, -81, 64, 99, 112, -9, 36, 61, -97, 43, 0, 74, -5, 23, 87, 39, -91, -31, 38, 110, -67, 99, -117, -117, 114, -106, 48, 112, -18, -28, -70, 58, -69, -101, -122, -96, 45, -51, 62, -53, 50, 103, 46, 111, 95, -46, -28, -30, -44, 91, 15, 40, 13, -111, -29, 95, -126, 50, -11, 117, -13, 89, -122, 58, 55, -25, 30, -120, -65, -46, 120, -33, 52, 18, 112, -83, 37, -14, -89, 22, 41, 87, -94, -112, 18, -44, -45, 16, -65, 113, -56, -103, -85, 69, 34, -22, -9, 10, 102, -94, -66, -22, -4, 26, 115, 95, 44, 54, 116, -105, 43, -107, -65, 45, 54, 4, -115, -90, -91, -110, 109, -38, 15, -43, -27, -113, -61, 116, 80, 18, 116, -65, -17, 83, -91, 5, -89, 57, 97, -57, 38, 126, 2, -43, 75, -11, 23, 32, 81, 63, -15, 33, 60, -12, 47, -128, -85, -100, 115, -26, 20, -115, -94, -53, 99, 92, -108, -9, 47, 92, -95, -4, 77, 26, 70, -109, -57, 28, -60, 122, 78, 81, -34, 96, -69, 103, -40, 31, 118, -37, -12, 19, -22, 109, -49, -62, 1, 55, 102, 30, 5, -118, 27, -89, 127, -35, -107, 16, -1, 105, -25, -52, -39, -91, -61, -113, -22, -94, -122, 28, -33, -6, 3, -85, -115, -104, -110, -118, 87, -77, 30, 35, -37, -102, 100, -23, 57, 59, -33, -124, -60, 110, 52, 31, 106, 126, -37, 95, -108, -9, 94, 98, -64, -86, -33, -30, -85, 98, -87, -19, -114, -29, -15, -35, 75, -83, -31, -60, 117, 69, -124, 47, -5, 49, -116, -109, -13, -40, -30, -97, 25, 34, -83, 59, -60, -52, -105, 22, 77, -2, 86, -63, -114, -123, -48, 123, -52, 85, 30, -86, -119, -18, 21, 100, -87, -24, 55, -59, 28, 35, 50, 35, 69, -36, 71, 124, 124, -15, -66, 8, 31, 84, -2, 75, -9, 72, 42, 11, 83, 6, -81, -36, 116, -54, -41, 120, -55, 85, 82, -99, -21, -69, -62, 65, -87, 104, 6, -102, -93, -113, 105, 42, 14, -14, 82, 79, -70, 125, 101, 74, -11, -1, -56, -53, -36, 67, -41, -59, 82, 19, -57, 21, -73, -110, -2, 89, -119, -76, 57, 120, -39, 60, -85, 58, -85, 121, -65, -25, 125, -28, 92, -85, 18, 16, 53, -64, -4, 11, -95, -89, -27, 110, 52, 10, -105, -38, -1, 69, 112, 9, -10, 71, -124, -94, -50, -10, -41, 16, -7, 31, 66, 36, -66, -71, 31, 12, -111, 12, -86, 53, -6, 44, -17, 7, 115, -77, -86, -112, 103, -50, -20, 58, 117, 119, -119, -79, -11, 91, 65, -105, -117, -31, 55, 40, 91, 24, 37, -121, 125, 103, 114, -73, 125, 38, -118, -46, -12, -121, 4, -119, 38, -89, -22, -53, -54, 12, 61, -66, -58, -12, 41, -90, -100, -36, 40, 88, 127, -65, -124, 51, -102, 5, 18, -121, 25, -122, -35, 92, -116, 8, -65, -1, -13, -69, 70, 9, -104, 127, -31, -86, -5, 31, -37, 40, 103, 53, 80, -90, -111, 78, 58, -15, -52, -33, 24, -120, -64, 46, -125, -38, 78, 119, 92, 94, -26, -101, -7, 14, 69, 123, 64, 16, -10, -10, -70, -97, -114, -30, 16, 53, 7, 123, 77, 87, 118, -13, 15, -50, 3, -26, -62, 85, -46, -71, -81, -86, -49, 34, -10, -55, -102, -123, 49, -6, 17, 86, 19, -112, -97, 84, 117, 57, -97, 65, 115, -104, 60, -123, -23, 25, -100, 62, -59, 94, 115, 45, 22, 8, -25, 49, -60, 105, 44, -21, -106, 74, 65, 51, -21, 114, 9, -49, 51, -35, 60, 125, -56, 48, -85, 77, -98, 30, 96, 3, 54, -9, -121, -117, -13, -114, -123, -28, -42, 39, -98, -88, 99, -3, -86, 15, -99, -62, -41, -125, 102, 45, 28, -99, 109, -106, 59, 119, -116, -28, 24, 28, 114, 43, -15, -56, 122, -112, -40, -115, 31, 98, 36, -99, -10, -105, 78, -88, -26, -128, -99, -8, 72, -13, -112, -65, 54, 34, 118, -114, 106, 39, -47, -39, -121, -55, -96, 80, 41, 116, -124, 111, -14, -18, 46, -67, 112, -4, 109, 75, 93, 11, 37, 33, -83, -35, 60, 99, 54, -108, 41, -75, -8, 71, -6, -73, -107, -62, 84, -66, -94, 127, -114, -102, -84, 98, -65, 116, 58, -87, 94, -60, 119, -59, 124, 2, -28, -9, -25, 14, 123, 122, -30, -60, 75, -76, -34, 22, 28, -119, -59, 44, -25, -102, 95, -101, 27, -38, 13, -7, 33, -111, 127, -61, -91, 33, -33, 21, -68, -57, -27, -86, 19, 49, -49, 107, -103, 115, -107, 90, 25, -19, -69, -73, 16, 61, 92, 23, 67, -34, -66, -32, -102, 12, 81, -45, -3, 71, -100, 100, 22, 17, -88, -93, 56, 46, 118, 78, -30, 1, -109, -53, 43, 1, 125, 21, 95, 62, -36, -122, -90, 72, 109, -124, -123, 20, -22, -12, 121, -103, 112, -103, 56, 124, 68, 111, -99, -10, 23, 63, 2, 35, -1, -55, -67, 121, -53, 98, 68, -68, -56, -13, -98, 69, -57, 117, -42, 97, -13, 27, -66, 81, 60, 59, -111, 46, 52, 4, -32, 64, -6, -121, 18, 41, 71, -17, -83, -65, 120, 25, 99, 79, 3, 4, -8, 105, -35, 100, -35, 15, -55, -43, 59, -9, 67, -119, -124, -29, -35, -124, -109, -73, 4, -111, 39, 126, 64, 69, -118, 101, 46, -8, -105, 86, 50, 50, 75, 58, -52, -123, -44, -37, 100, -38, 76, 104, 114, -16, -88, -112, -101, -38, 95, -7, 98, -18, 27, 33, 76, 119, -49, 51, 35, -32, 34, 59, 63, -123, 72, 3, 92, -88, 72, 7, 96, -23, 48, -7, -16, 110, 54, -106, 112, 5, 56, -20, -65, 26, 14, -51, -27, 74, 123, 93, -102, 121, 115, -23, 39, 119, -91, 116, -57, 123, -66, 30, 107, -3, -95, 66, 74, 26, -47, 52, -93, 122, -77, 78, -19, -38, -82, 36, 18, -71, 115, -43, -68, 2, -77, 55, 106, -104, 61, -51, -99, 67, 59, 127, 105, -119, -79, 95, 59, 47, -60, 74, -16, 112, 31, 28, -82, -105, -60, 118, -96, 23, 104, 36, 43, 72, 48, 97, 97, 45, 112, 112, 87, -71, -29, 57, -105, -27, -73, 68, -3, 120, -112, 41, 10, -75, 39, -113, -1, 2, -9, -36, 113, 110, -109, -36, -72, 59, 81, 94, 78, -72, -41, -34, 26, 19, 42, 14, -48, 62, 20, 112, -93, 41, -87, -15, -1, 37, 71, -1, 47, 57, -6, 63, 83, -4, -37, 84, 59, -1, -85, -117, 127, -97, 106, -25, 127, 117, -15, 111, 83, -19, -4, -81, 46, -2, 125, -86, -99, -1, -43, -59, -65, 77, -75, -13, -65, -70, -8, -9, -87, 118, -2, 87, 23, -1, 38, -43, -50, -1, -22, -30, 63, 75, -114, -30, -32, 25, -74, -60, 106, 63, 117, 44, 16, 70, -37, 74, 10, -56, 38, -92, 121, 36, -23, -76, -28, 127, 11, -116, 46, 37, 86, -13, 51, -77, 60, -70, -37, 77, 114, -29, -74, -45, 27, -49, -113, -110, 62, -85, -57, 111, 111, 36, 67, 96, 100, 117, -58, -7, -7, 32, 42, 37, 41, -8, 116, 84, -98, -53, -108, 94, -56, 82, -89, 21, 0, 117, -103, -42, 103, -108, -60, -37, 35, 94, 17, 27, -109, -107, 117, 95, 53, -88, -123, 45, -45, 25, 120, -26, 106, 23, -100, 90, -37, 92, -49, -30, -58, 54, 125, -31, -126, 62, 125, -102, 31, 103, 1, 26, -46, 83, 67, -36, 86, -6, 32, -122, -89, 99, 22, 9, -72, -3, -122, -36, 54, 9, 91, 43, 70, -83, -83, 115, 51, 102, 95, -38, 72, 26, 2, -12, -36, 60, -122, -25, 21, 78, 11, 33, 97, 72, 110, -70, 96, -126, 93, 11, 114, 97, 119, 126, 102, -49, -65, 114, 73, 123, -20, -117, 111, 115, -48, -30, -60, 82, -102, -96, -123, -18, 114, 117, -92, -40, 16, -95, 119, -95, 0, -73, 111, -81, 117, -106, -42, -9, 26, -24, -81, -123, -59, -128, 49, 89, 43, -50, 13, -29, -51, 58, 112, 71, 50, 109, 23, -105, 124, -43, -27, -69, 106, 103, 123, 99, -87, 94, -77, 111, -12, 122, 60, -70, 74, 72, 103, 111, -58, -88, -26, 66, -42, -60, -98, -53, -74, -52, -103, -19, 5, -24, 126, -128, 57, 29, 106, 99, -43, -64, 94, -75, 106, 46, -63, 105, 83, 19, -106, -122, 51, -90, -93, 83, -96, -85, -25, 58, -115, -50, 56, 58, 114, -22, 49, -3, -25, -77, 72, 65, -35, -35, -63, -3, -18, -71, 109, 84, -9, 21, 55, -33, 62, 41, -8, 7, -62, -12, 75, 17, -34, -52, -47, 29, 40, -119, -102, 98, -3, 97, -77, -113, 34, 35, 109, -27, -74, 49, 69, 35, -76, -102, 43, -113, -82, 97, -57, 3, 120, -17, 4, -40, -105, -33, -101, -10, -83, 7, 14, -77, 20, -5, 55, 24, -33, 14, -7, 99, -13, 93, 58, 66, 29, 39, 78, -82, -52, 107, -26, -116, -27, 88, 25, -98, 95, 21, -94, -34, 79, -77, 15, -8, 20, -21, -19, -5, 122, 6, 45, 33, -72, -63, -24, 17, -42, 116, -18, 59, -94, -32, 126, 44, -72, -119, -14, -104, -68, -106, 6, 113, -32, -126, -4, -18, -86, 75, -82, 36, 29, 26, 45, 2, 120, 101, 105, 96, 9, -71, -123, 1, -77, -111, 27, -111, 1, 3, 73, 75, 63, 105, 31, 76, -30, 27, -66, -122, 81, -38, 50, 105, -55, 68, -63, -109, 19, 52, 118, -108, -17, 2, 96, 115, -52, 3, -73, -58, -65, -14, 54, 19, 13, -28, -116, -19, 71, 42, 56, -23, 7, 73, 74, 64, 1, -117, -65, -78, 81, -63, 4, 5, -37, -83, 22, -8, -119, -55, 117, -118, -102, -125, 67, 64, -117, -121, 103, -59, -77, -19, 51, -105, -26, 26, 84, -110, -72, 112, -29, 49, -68, 31, -13, -40, 97, 114, 7, -54, 2, 15, -37, -1, 22, 10, -88, 117, 35, 103, 32, 21, -49, 68, 59, 77, 68, 76, 93, -1, -127, 55, 62, -115, -1, 62, -56, -98, 15, -123, -59, -73, 6, -122, -116, 54, 127, 75, 48, -85, 66, -112, 50, -82, -17, -106, 10, 80, -3, -112, -85, 26, 8, 66, -84, 57, -38, -65, 106, 60, 78, 108, -30, -60, 10, 52, -86, 46, 56, 100, -17, -67, 4, -75, -49, 44, -50, 41, 86, -3, -125, -54, 15, -50, 71, -30, -34, 100, 8, -115, 41, 35, 40, 110, -52, -91, 27, 67, -26, 92, -26, 71, -21, -77, -26, -82, -113, 67, 77, 9, 3, -101, 80, 86, -11, -47, -24, 24, -50, 37, -43, -25, -52, -17, 99, -105, -94, -43, 102, 45, 51, 8, -126, -84, 27, -36, -80, 71, -102, 51, 3, 108, 119, -27, -101, -57, 80, -4, 34, 61, 65, 61, -117, -103, 61, -21, -5, -97, -47, -115, -45, -38, -43, -22, -96, -109, 106, 89, -117, -1, -80, -23, -116, -128, 117, -121, -11, 51, -86, -78, 53, 10, 118, 116, 103, -96, -76, -42, 126, 61, 115, -126, 33, -16, -69, -54, 15, 35, 37, 15, -112, -64, 61, -14, 38, -56, 65, 86, 19, -30, -45, -85, 21, -103, -26, 32, -115, -24, -92, -97, 56, 58, 95, 64, -117, 69, -33, -37, -22, 57, 66, -56, -24, 102, 121, 98, 83, 80, -55, -104, 73, 18, 16, 58, 33, -48, -103, 116, -7, -39, -30, -76, 28, 37, 51, -101, -63, 53, 117, -97, -32, -10, 10, 54, -2, 48, -1, 44, -31, -57, -116, 61, -36, -46, -12, -84, 119, 78, -65, 0, 15, 23, -22, 87, -24, -80, -16, 14, 60, 56, 12, -91, -9, 33, -117, -101, -43, 98, -102, -93, -24, -16, -27, 55, -77, -65, -87, 54, 109, 11, 118, -23, 123, -27, 0, -55, -94, -101, 103, -1, 61, -122, 46, -42, 98, 53, 107, -15, 38, -29, 4, 27, 57, 4, 9, 41, -30, -105, 48, -48, -119, -99, -55, -85, -101, -11, -21, 86, -121, -12, -43, 71, 108, -48, -6, 122, -42, -1, -120, -31, -116, -71, 34, -41, 126, -124, -51, -56, -79, -85, -1, 25, 109, -4, -67, 125, 58, 35, 41, -64, 94, -69, -28, 40, 37, 52, -28, 43, 77, 3, 1, 65, -46, 26, -8, -83, 14, 55, 90, 101, 94, 87, 92, -3, 39, -76, 113, 9, -49, -122, 10, -10, 81, -103, -60, -43, -53, 75, -25, 90, -45, -110, 21, -97, -32, -45, -127, 111, -43, -109, -127, -125, -128, 61, 5, 61, 86, 75, 18, -128, -77, -81, -67, 37, -24, 31, 30, 3, 56, -40, 29, 61, 18, 80, -37, 104, 100, -1, 85, -18, -21, -31, -125, -29, 28, 46, 50, -21, 104, -81, -101, 56, 62, -68, 93, 102, 35, -122, -80, -78, -75, 89, -77, 55, -8, 13, 16, -113, -128, 74, -20, -104, -124, 12, 16, 62, 30, -56, -94, 1, -91, -115, -34, -99, -20, -8, -6, -53, 83, 33, 11, 127, 33, 69, 97, -78, -118, -9, -128, -99, -57, 34, 108, -59, -47, -42, -100, -57, -84, 115, 22, -12, -109, -101, 69, 122, 55, -104, -21, 63, -8, 115, -41, -80, -91, 124, -36, 30, 106, 12, -109, 11, 118, 51, -94, -116, 112, -51, -38, 84, 61, 119, 110, -44, 35, -17, 106, -125, -31, -40, 79, -41, 100, -109, 93, -3, -66, 28, 95, -58, -115, -12, 108, -72, 121, -69, -10, -88, -70, 22, 62, -45, -95, -98, -78, 51, -101, 100, 125, 65, 119, 64, 17, 106, -46, -81, 50, -64, -57, -51, -107, 89, -80, -99, 49, 34, -116, 110, 46, -110, 69, -126, -14, 32, 98, -35, 59, -39, 40, 97, 96, -104, -17, -63, -73, -51, 36, 9, -69, -3, 53, -72, 58, -116, 75, -98, 91, -29, -26, -54, 52, -19, -73, 45, -106, 0, 27, 107, 33, 100, 113, 20, -29, -14, -20, 120, -53, -49, -80, -57, 62, -41, 47, 115, 58, 75, -57, -2, 25, 61, 55, 39, -60, 43, -70, 55, -88, 51, 36, 72, 59, -92, -5, -74, -42, 55, 3, -18, -41, 79, 93, 41, 91, -47, -38, -93, 102, -15, -110, -128, 75, -2, -87, 73, -33, -110, -58, -79, -51, -82, -125, 47, -52, -74, 47, 64, -32, 94, 78, -125, -67, 38, 37, -17, 22, 79, -115, 66, 114, 127, 102, 61, 82, -73, -17, -42, 22, 17, 3, -80, 73, -13, 27, -52, 13, -89, 72, -7, 68, 76, -42, 7, -28, 71, -106, 53, 110, -19, 95, 35, 101, 6, -99, -55, -55, 36, -66, 37, -32, -77, -36, 21, 5, -51, -2, 46, -38, 126, 52, -108, 49, 91, 69, -7, -80, -39, 25, -72, -27, 60, 0, 107, -3, -4, -46, 120, 52, 18, -115, 32, -49, -50, 28, 117, -103, -53, -122, -34, -117, 124, 22, -43, 93, 24, 88, -29, -3, -52, -125, 48, -29, 44, -17, -93, 21, 48, -29, -94, 10, 19, -3, 39, -110, 7, -14, 83, -7, 30, 15, 13, -30, 59, -56, -41, -58, -24, 27, -20, 124, 93, -72, -33, 124, -106, -74, -17, -117, -37, 102, 108, -83, 8, -62, 26, 31, 89, -51, -47, 67, -36, -44, 37, 66, -119, 0, 13, 102, -33, 90, 59, 4, -71, 56, 12, -111, -103, -81, 39, 53, -103, 56, -77, -79, -128, 44, -93, -103, 117, 118, -106, 47, -117, -124, 52, -38, 4, 43, -48, -34, 53, -26, -18, -68, 65, -26, 105, -102, 83, 126, 70, 61, 30, 10, -18, -92, -76, -17, -22, 111, -7, -18, -82, 71, 22, 38, -92, 22, 14, -12, 107, 111, 59, 61, 33, -93, -35, -84, -49, -3, 83, 119, -110, 11, 126, -60, -84, 87, 55, -69, -117, -25, -12, -69, 32, -33, -45, -2, -36, 109, 113, 30, 63, -39, -2, -12, -33, 56, 30, -50, 57, -84, 74, 92, 70, -48, -28, -106, -45, -123, -92, -59, -9, -23, 110, -73, -7, -102, -73, 36, -111, -21, -1, -102, 32, -77, -12, 19, 110, -20, 31, -75, 31, 90, -70, 34, -25, 91, -51, 113, -43, -27, -59, -73, -107, 105, 43, 93, -58, 20, -18, -52, 92, -21, 15, 93, 56, -74, -105, -72, -5, -89, -58, 27, -24, 53, -119, -116, 113, -126, -76, -7, -117, -1, 16, -10, 104, 5, 90, 26, -60, 77, 89, -31, -83, -7, 30, 51, -72, 16, 17, -26, -21, -96, 23, -52, -110, -10, -56, -3, 48, -105, 61, 125, -70, 39, 106, -32, 7, 106, -82, -3, -97, -55, -58, 66, -22, -28, -56, -125, 98, 110, 107, 114, 80, -25, -41, -32, -11, -51, -23, 64, 49, -58, -105, -54, -92, -12, 91, -5, -120, 105, 9, -37, 25, 95, -68, 119, 8, 48, -109, -70, -86, 17, -49, -6, 120, -7, -87, 51, 80, -15, 19, -13, 87, 108, 71, 67, 86, -51, -86, -19, -54, -111, -99, -37, -3, -3, -33, 45, -118, -111, -39, -128, 24, -43, -48, 85, 46, 102, 78, -108, 102, -22, -97, -112, -64, -89, 75, 97, 26, 48, 63, 7, 9, -80, -42, 2, -86, -80, -29, -16, 3, -53, -38, -25, 73, -118, -30, -43, -55, -45, -21, -56, 65, -64, 70, 36, 51, 52, 3, 34, -58, -24, -21, -36, -76, -47, 122, -102, -79, -9, -23, 96, -112, 15, 123, -20, 103, 91, -78, 83, -30, 6, 122, 28, 80, -10, -44, 127, 61, 70, -112, 12, -17, -95, -90, 38, -7, -22, 13, 113, -118, 76, -44, 0, -96, 8, -107, 48, -105, -81, -4, -117, -57, 105, -76, 71, -47, -53, -115, -101, 8, 70, 80, -116, -88, 14, -16, 19, 98, 33, 42, 25, -75, 4, -113, 64, 33, -94, -40, 39, -71, 108, 99, 50, -67, -107, 85, -127, 114, 44, -92, -125, 118, 35, 126, -78, -115, 119, -37, 74, 117, -11, 52, 72, 53, -51, 119, -127, 58, -88, -127, -99, -93, -116, 38, 43, -54, 50, 14, -80, 57, 27, -58, -59, 52, 88, -35, 9, 89, 91, -55, 72, 86, 95, -42, 114, -60, -82, -69, -73, -36, -52, 124, 12, -4, 65, -17, 56, -55, -45, 48, 27, -81, 62, 6, 80, -35, -23, -72, 124, -107, 111, 24, 38, -82, -117, 122, 46, -109, -100, 52, 63, 21, -76, 92, -8, -102, 95, 123, -112, 25, -87, 113, 40, -23, 10, -80, -71, -46, -69, -41, -89, -52, 7, -30, -28, -127, -8, -75, 49, -57, 60, -24, -2, 20, -114, 15, -59, -66, -59, -6, -113, 113, -113, 92, -16, 88, 93, -10, -26, -114, 87, 100, 43, 32, 96, -106, -117, -97, 57, -70, 31, -100, 7, 78, 34, -58, 59, -81, 25, 80, -82, 50, 13, 127, -30, -115, -125, 50, -1, 90, -71, 73, -41, 27, 17, 40, -30, 49, -7, 65, -105, 35, -16, 20, 22, -49, -3, -78, -3, 97, 116, 115, 25, 102, 30, -76, 85, 70, 8, 29, 123, 73, -89, -59, -124, -76, 68, -17, 63, 54, -14, 63, -32, 25, -91, 51, 7, -52, 40, -38, 33, 7, 17, 35, -57, -114, 34, 121, -79, -3, -4, -74, 79, 117, 22, -76, -22, 110, 35, -121, -112, -41, -102, -78, -79, -97, -101, -52, 8, -29, -108, -13, 123, 23, -12, -78, 37, 6, 127, 96, -27, -122, 66, 48, -29, -84, -81, 92, -60, 121, -103, 125, 8, -14, 14, -71, 53, -65, 21, 13, 6, 18, 4, 23, -113, 101, 30, 91, -48, -108, -40, -96, 125, 94, 117, 69, 20, 62, -13, 125, -110, 121, 63, -28, 115, 31, -103, -63, -105, 10, -72, -61, -19, 72, -38, 52, -19, 118, -55, 40, -20, -81, -64, -63, 16, 20, -106, -13, 78, 105, 120, 110, 46, -83, 77, -114, 16, -95, -15, -14, -97, 58, -110, 29, -8, 14, 7, 111, 35, 123, -50, -73, -69, 92, 14, -84, -52, 32, -31, -107, -72, 52, -105, 113, -36, 15, -92, 118, 30, -28, -61, 2, 8, 43, -104, 103, -105, -79, -69, 39, -32, 38, -3, -69, -83, -80, 127, 16, -87, -35, -25, -45, 85, 28, -1, 9, 57, -98, 79, -97, 126, -76, -46, -115, -69, -8, 109, 87, -53, 89, 14, 13, -110, -15, -32, -58, -103, -20, -91, 27, -9, -63, -122, 36, -126, 76, 102, 6, 119, 1, 75, 47, -91, 62, 40, -108, 117, -97, 68, 105, 1, 92, 103, -50, 1, -72, -97, -114, 127, -54, 122, 84, -86, -79, 4, 58, 113, -77, 30, 11, -98, -115, 113, -3, -111, -9, 77, -32, 17, 77, -89, 119, -2, 65, -73, 56, 3, -21, -39, -47, 82, -60, 119, -121, -13, -104, -37, -109, 92, 124, 19, 3, 33, -29, 14, 90, -48, 100, -37, -111, 127, -126, 118, 36, 96, -38, 99, 45, 22, 68, 72, -90, 92, -73, -14, -8, -99, -7, 108, -28, 105, -54, -47, -47, -21, -117, -116, 78, 117, 20, -64, -127, -6, -63, 8, 125, -31, 71, 91, 114, 59, -124, -45, 85, 16, -49, 104, -66, 22, -16, -71, -50, 61, -60, -81, -23, -61, 75, -82, 87, 62, 49, -77, -111, -92, -63, 37, 49, 115, 49, 67, -123, 31, 5, 123, -122, -75, -52, 99, -127, 119, 101, -82, 93, -2, 1, -109, 35, 31, -94, 61, -121, -1, -23, 47, 70, 116, 115, 44, -12, -25, 123, -122, 97, -100, -61, 19, -32, 77, -50, 92, -104, -36, -98, 24, 79, -65, -86, 127, -45, 29, -99, -56, 109, 40, 36, -92, -42, 56, 75, -66, -71, -10, 10, -86, 28, 57, -84, 115, 30, 53, -46, -78, -40, -109, -82, -14, -101, -110, 76, -107, -109, -69, -34, 32, -73, 47, -39, -31, -126, -55, 58, 107, -37, -50, -73, -12, 46, 66, 33, 4, 88, -70, -55, 26, -85, -60, 69, 113, -18, -1, -75, -29, 120, 2, -6, -118, -79, 84, -9, -107, -6, 113, 79, 55, -16, -126, 121, -91, 98, -8, 103, -25, 125, 105, -48, 100, -110, -127, 43, -28, 84, 34, -30, -74, 53, 55, 61, 49, -82, -88, -57, -121, 91, -29, -58, 44, -102, -28, 42, 55, -2, -40, 20, -64, 29, -57, -115, 89, -28, -114, -32, -58, 44, -98, -105, -81, 76, -5, -97, 56, -112, 19, -51, -107, -124, 41, 6, -39, 103, 29, 16, 20, -1, 75, 33, 39, -88, 57, 110, -112, -28, -85, 102, 110, -72, 100, 5, 55, 85, -110, 27, 39, -7, -33, -103, 76, -7, -33, 62, -112, 45, -54, 29, 89, -108, -93, -89, 73, 34, -39, -74, -79, -43, 57, 37, -118, 127, 125, -98, 71, -39, -93, 81, 54, -66, -16, -12, 89, -74, 91, -19, 1, 3, 47, 41, -45, 24, 61, -73, -72, -51, -119, 72, -33, -40, -57, 123, 70, -30, 57, 85, 18, -109, -101, -100, -74, 51, 40, -114, -69, 46, 27, 53, -65, -72, 13, 44, 107, 71, -39, 111, -29, 27, -15, 28, 8, 119, 60, -92, 114, 23, 111, -126, 67, 37, 113, 71, 111, 79, -38, -20, 113, -73, -70, -63, -95, -5, -13, -104, 21, -108, 49, 30, -65, -66, -67, 29, -57, 9, -100, -89, -38, 50, 88, -112, -99, 121, -68, 113, 22, 62, 104, 30, 85, -110, -50, -39, -65, -60, 102, 79, -45, 89, -115, 123, -14, -37, -37, 64, 111, 14, 71, 45, -8, 33, -89, 2, 53, -119, -33, -128, -20, 43, 50, -110, 88, 12, 95, 118, 119, -53, 63, -56, 87, 38, 33, 14, 89, -17, 31, -71, 51, 41, 120, -51, 21, -14, 15, -36, 115, -3, -93, -106, -58, -83, 113, -9, -16, 23, -18, -71, -26, 110, -30, -18, -31, -79, -20, 31, 123, 120, -19, -57, 30, -2, -59, 61, 20, -1, 19, 7, -94, 86, -114, 101, 99, 46, -80, -97, -83, 13, 3, 0, 27, -123, 14, -29, 38, -75, 38, -52, 29, -53, -94, -90, 106, -61, 52, 60, 35, -2, 64, 125, -113, -123, 75, -40, -39, 102, 50, 19, -95, 76, 28, -102, -59, 105, 87, -30, 52, 110, 82, 56, 95, 86, 56, 47, -100, -40, -119, 46, 69, -113, -25, 57, -57, 2, 18, -76, -40, 25, 90, -100, -60, 22, -74, -96, -41, -66, -83, -9, 57, 14, -37, 71, -101, 51, 91, -61, 40, 97, -127, -105, 112, -110, 84, -37, 61, 123, 59, 111, -114, 0, -127, -95, -62, 98, 10, 8, -93, -110, -100, 57, -105, -25, 57, -30, 1, -17, 80, -100, 98, 37, -41, -97, -121, -106, 51, -115, -14, -53, -56, 76, 11, 123, 116, 29, -7, -75, -70, -120, -32, 56, 59, -90, -45, 39, -80, 57, 120, -63, 2, 69, -114, 70, -53, 89, 32, 77, 117, -3, -92, -90, -106, -123, 88, -122, 25, -24, 117, 117, -110, 61, 118, -126, 40, -118, 88, 121, 7, -125, 56, 127, 85, 117, -25, 115, -113, 44, -126, 13, 21, 64, -125, -116, 40, 82, -37, -31, -94, 104, -26, 82, 120, 25, 28, -72, -76, 116, 115, 79, 116, 25, 95, 84, 67, -100, 88, -46, -84, 44, 75, -16, -51, -20, 15, -81, -105, 80, -83, -47, -56, 74, 107, 72, 116, 35, -56, -46, -108, 51, 97, 82, -40, -107, -93, -102, 117, -17, -78, 100, 117, -33, 20, 9, 69, 87, 120, -5, -104, 78, -109, -11, -108, -11, 114, -37, 78, -113, -70, 89, -117, 49, -123, 83, -124, 10, 83, -42, 5, -60, -11, 19, 46, -86, 32, 123, -12, 92, -5, 110, 82, 20, 82, 78, 10, -70, 44, 79, -98, -59, 32, 78, -41, 46, -74, -67, 19, -124, -103, -111, 111, 116, -59, 52, -16, 40, -99, 105, -9, -80, 2, -90, -96, 30, 57, 8, -117, 22, -60, -60, 13, 43, -65, 57, 63, 44, 127, 10, -74, 60, -87, -78, -43, 34, 107, -2, 78, 90, -65, 70, 65, 113, -18, -95, -71, 17, -44, -95, 75, -91, -2, -82, -124, 91, -9, -94, -51, -116, -82, 43, -76, -84, 73, 3, 19, -106, -79, -4, 76, 126, 81, 81, 115, -65, 78, 8, -35, 112, 121, 83, 110, -7, -99, -85, -47, 110, -120, -77, 65, 26, -71, -18, 50, 46, 5, 25, 83, 18, -68, -120, 77, -12, -121, -36, 100, 116, 9, 48, 4, -42, -84, -38, 96, 118, 76, -102, 74, 86, -109, -127, -69, -109, 2, -87, -110, -84, 7, -126, -97, -90, 118, -106, 92, 11, -18, -4, 93, 51, 52, 113, -103, -86, -63, -71, -99, -7, 46, -47, -62, -78, 69, 56, 16, -86, -43, -15, -20, 34, -6, 19, -88, -62, -107, 105, 52, 105, -45, 102, -100, -48, -101, 75, 87, 80, 36, -6, 73, 78, -75, -45, -92, -70, -78, -62, -108, -46, 85, 60, -21, 43, -4, 36, 73, -87, 85, 80, 103, 73, 123, -68, -84, -61, -83, 70, -125, -42, -80, -86, -8, -115, 70, -55, 114, -97, -79, -13, -48, -117, 87, 52, 83, 5, -121, 109, -59, -76, 9, -28, -38, -90, -69, -79, -20, -88, -120, 80, 124, 87, -99, 6, -48, -90, -86, 121, 68, 81, 62, 38, 31, -11, -48, -85, -117, 121, 117, 37, 94, -93, 102, -55, -88, 35, -87, 38, 22, -47, -74, 108, -28, 40, -42, -43, -78, -40, 38, -17, -102, 79, 45, 55, -73, 0, 20, 114, 48, -25, 115, 57, -79, -74, -31, -65, -74, 27, -128, -95, 115, 51, -19, -112, -25, -17, 66, -41, -21, -61, -121, 88, -55, -54, -17, 77, 87, 29, -77, -105, -81, -73, 127, 78, 70, 84, 2, -30, 15, 19, 121, 80, 32, -78, -85, 118, -68, 92, 92, -76, -91, 47, -52, -79, -66, 13, 57, 82, -121, 17, 66, 44, -117, -84, -8, -75, -38, -60, 28, -91, 46, 11, 19, -6, 84, 107, -120, -56, 24, 31, -105, -74, 68, 49, -105, 22, 40, 122, -23, -107, -5, 97, 38, -8, 12, -39, -84, 49, 121, -57, -115, 20, -18, 25, 110, -32, 78, 3, -97, -54, 111, -49, -14, -116, 50, -85, 121, 91, -2, 104, 63, -34, -91, -29, 102, 15, 88, 9, -101, 86, 115, 49, 106, -94, 93, -23, -87, 42, 69, 121, -45, -115, 24, 49, 114, -108, -102, -94, 102, 114, -34, -72, 45, -78, 24, -17, -82, -94, 98, -98, -115, -13, 10, 13, 118, -67, 104, -40, 26, 90, -20, -5, 28, -118, 122, -2, -40, 101, 106, -74, 42, -16, 70, 58, -70, -21, -40, -86, -13, -67, 85, 75, 77, -48, -112, -49, 35, 118, -78, -53, -83, -13, -58, -45, -3, 81, -29, -14, 109, -70, -113, -100, -105, -124, -107, 31, 58, 38, -105, 123, -11, 57, 17, -77, -124, 101, -108, 57, -67, -27, -35, 64, 21, 98, 47, -29, 10, 114, -17, -110, 39, 31, 28, -56, -66, 50, 102, -112, -53, 61, 60, 12, 83, -51, 2, -96, -87, -61, 66, -125, 112, 9, 49, -3, 23, -114, -96, 16, -107, 24, -47, -46, 59, -95, -74, 114, 122, 85, 126, -45, 123, -22, -52, -114, -121, -14, 111, -8, -7, -72, 114, -57, -101, 94, 121, -117, -86, 17, 41, 31, 0, 122, 26, -112, 123, 29, 69, 113, -78, 107, 50, -23, -15, 59, 82, -19, 113, 82, 125, 50, -81, -94, 48, -31, 113, 59, -113, -5, 112, 5, 39, 122, 15, 98, 34, 92, 15, 20, -58, 31, 91, -59, 46, 48, -107, 96, -96, -83, 60, -56, -38, -118, 108, 91, 106, -128, 66, -40, 99, 55, -70, 115, -97, -44, -64, -8, 94, -3, -46, -75, 17, 71, -53, 49, 85, 43, -64, -38, -31, 78, -69, -108, -18, 1, -66, -128, -110, 7, -114, -3, 74, 49, -67, 59, 105, 74, 111, 106, 86, 107, -81, -128, -122, 80, 31, 42, -41, 20, -83, 44, 42, -99, -107, 25, 47, -74, -64, 39, -100, -52, 28, 82, 8, -67, -31, -18, 46, 99, 71, 65, -29, -80, -88, -11, -93, -125, 45, 30, -71, 75, 26, -90, 41, -119, -4, -7, -53, 29, -20, -68, -125, -120, -119, -53, -90, 9, -91, -37, 61, 58, -54, 52, 5, -104, -10, 86, 124, -47, -75, -76, -120, -86, 68, 120, 42, 59, 57, -3, 11, 43, -116, -26, 56, 88, -8, -80, 114, 13, 86, 121, 70, 121, -67, -21, 69, 24, -31, -58, 125, -66, 43, 114, 49, 39, -4, 46, 43, -41, -34, 5, 38, -41, -53, -81, 4, 86, 90, 116, 36, 105, -118, -87, -70, 45, -12, 87, -103, -35, -1, 90, -1, 42, -121, 103, -1, 126, 40, -9, 8, 101, -90, -86, -23, -93, -122, -10, -119, 58, 17, -48, -113, -113, 30, -75, -128, -105, -6, -67, -48, 12, 37, -12, -19, 119, -73, 117, 93, 29, -17, -21, 28, 89, 76, -75, 67, -89, -103, 126, 4, -76, 69, -123, -88, -61, 14, 51, 94, -25, -30, -71, 79, -22, -69, 13, -113, 77, -71, -78, 101, 22, -90, -108, -30, 41, -93, -14, 27, -108, -105, -100, 71, 52, -75, 10, -124, 57, -85, -84, -40, 117, 14, 20, 81, 32, 118, 98, 74, -2, -31, 30, 110, 109, -105, -39, 87, 120, -81, 20, 86, 12, -100, 35, 41, 98, 47, -88, -72, 8, 111, 46, -39, 31, 86, 62, -9, 37, -54, 98, -104, -57, 47, 83, 13, -105, -58, 74, -122, 29, 35, -6, -106, -102, -99, -125, -20, -69, -74, -67, 90, -109, -119, 23, -74, 116, 19, 43, 100, 92, 25, 95, -69, -105, -40, 121, -99, 102, -6, 15, -34, 61, 110, 103, 30, 49, 126, -127, 122, -19, -65, -51, 90, 72, 61, -33, 63, -47, -81, 94, 83, -33, 6, -81, 116, 106, -127, 122, -23, 81, -93, -90, -6, 35, -41, -128, -58, -8, 23, 6, 107, -23, -67, -24, 88, 5, -54, -59, 91, 6, -21, 41, 50, -5, -69, -4, -7, -2, 106, -72, -21, 56, 89, 26, 116, -59, -76, 49, 53, 40, -75, 69, 9, -105, -30, -46, -81, -38, -41, 61, 101, 50, 117, -35, 57, -110, 52, 94, 122, -88, 23, 86, -128, -9, 107, 109, 38, 38, 115, 101, 118, -81, -67, -36, -127, 112, 84, -70, -104, -99, 3, 81, -58, -104, 97, -71, 47, 61, -35, 117, 55, 44, -62, 53, 126, 19, -44, 18, -11, 32, 105, 13, 93, 4, -67, -39, -102, 25, -107, -14, -30, 119, 56, 8, 46, 48, -22, -101, -114, 51, -51, 88, -36, -21, -115, -44, 120, 87, -109, -88, -28, 78, -110, 91, -25, 75, -47, 6, 41, 9, 6, 102, -107, -10, 63, -12, 73, 35, 92, 69, -128, 50, 103, 97, -4, -7, -34, -119, -118, 116, -11, -10, -117, -116, -85, -45, -87, 61, 9, -12, 14, -99, -40, 113, 105, -105, -121, 94, -99, -56, -13, 84, 83, -61, 91, -56, 46, -95, -53, 10, -65, 45, 55, -104, -112, 36, -77, -66, -92, -63, -86, -42, -8, 42, 21, 53, -37, -46, 13, -10, -22, -4, 78, 73, 123, -1, -71, -52, -45, -23, 4, 79, 119, -23, -24, 71, -57, 2, 90, 5, 42, 47, -57, 116, -71, -47, 66, -52, -38, -4, 18, 44, 92, -101, -18, 121, -74, -63, -84, 103, -38, 91, 113, -109, 56, 77, -103, -76, -106, 36, 54, 58, 66, 69, 101, -36, 12, -110, 58, -34, 115, -9, 93, 64, -89, 32, -93, -64, -44, 106, 94, -42, 102, -27, 104, 61, 124, -111, 93, -60, 126, 15, 56, -97, 38, -99, 100, -102, 102, -52, 123, -77, 53, -67, 42, 127, 13, -112, -94, -1, 72, -49, 96, 57, 124, -23, 69, 20, 39, -35, -32, -10, 116, 114, -48, 114, -60, -2, -112, -70, 102, 110, 22, -9, 81, -122, 116, 112, -113, 91, -32, 35, 102, -118, -34, -37, -35, -122, 116, -44, -7, -92, -36, 103, 103, 89, 66, 2, -98, -16, 27, 5, 81, -126, -80, 30, 16, 37, 121, 18, -97, -66, 66, -24, -69, -99, 105, 64, -69, 77, 55, -99, -70, -34, 22, 50, -94, 35, -75, 123, -99, 108, -70, 47, -38, -6, -91, 8, -38, -66, 38, -17, 114, -121, 36, 98, 43, 106, 52, -86, 121, 97, -72, -57, 94, -34, -93, 47, -94, 68, 78, 90, -63, -11, -46, 57, -62, 37, 108, 91, 60, -43, -96, 53, -51, -3, 88, 39, -1, 48, -16, -125, -39, 76, -70, 96, -21, -111, -50, 39, -99, -57, -123, -15, -96, -3, 68, -81, -18, -24, 9, -82, -110, 100, -70, 39, 74, 20, -58, 27, 77, -25, 53, 36, -99, -110, -26, 126, -107, 58, -113, 107, -86, -83, 5, -70, 11, 106, 66, -70, -97, 37, -24, -124, 99, 78, -98, -9, 53, -45, 54, -22, -91, 16, 85, 83, 96, -113, 78, -36, -89, -37, -115, 105, 86, 108, 37, -76, 36, -87, -30, -86, 34, 123, -20, 42, -93, -123, 11, 65, -5, 81, 24, -121, 110, -105, -46, 22, 31, 54, -49, -69, 17, 86, 10, 106, -34, 57, 111, -5, 32, 71, -1, -115, -123, -104, -58, -29, -125, -114, 111, -4, 50, -21, -15, -43, -5, 98, 58, -49, 122, -34, 15, -14, 55, 110, -87, 62, 89, -6, 56, -8, 50, -108, 52, -100, 72, -25, 38, -33, 5, -12, -4, 42, -90, -74, -82, -2, 116, -81, -104, -97, -117, 124, 127, 116, 119, -4, 83, 124, 27, 26, -128, -103, -30, 19, 87, 13, 88, 74, -18, -52, 27, -15, 49, 76, 63, -107, -31, -18, 112, -123, 27, -83, 7, -30, 79, -80, 127, -67, 120, 35, -15, -121, -32, 91, -17, -55, 64, 71, 14, 41, 23, -71, -112, -51, -7, -58, -30, -66, -58, -123, -72, 114, -87, -60, 75, -16, -14, -124, 33, 105, -59, 120, -78, -76, 69, -110, 74, -40, 30, -98, -95, -104, -29, -101, 127, -1, 48, -113, -123, -104, -118, -77, 123, -102, -125, -66, -72, -115, -59, 67, 118, -82, -124, 111, 91, -70, 73, 96, 82, 90, -128, -2, 9, -87, 42, -78, -14, -54, -18, -48, -54, -6, -38, 46, 71, 66, -99, 117, -18, -62, -74, -17, 38, 104, -86, -44, 126, -118, -26, 100, -60, 43, 118, -11, -23, -46, 43, -44, -21, -113, 113, 111, -43, 30, 49, 99, 115, 8, -43, -16, 35, 57, -58, -122, 115, -33, 7, -115, 113, 63, 66, -2, 70, -94, -13, 68, -64, 18, -64, -89, -97, 39, -108, -14, 56, -65, -117, 14, 94, 0, 20, 39, 56, 40, -73, -99, -108, 113, 105, 67, -89, 94, -11, -53, 94, -59, 5, -115, 35, 12, -77, -108, 66, -104, -55, -125, 83, -42, -45, -7, 77, -27, 93, -3, -14, -46, 79, -43, -46, 27, 84, -8, -113, 21, -82, 109, 62, 105, -42, 117, -14, 53, -38, -120, 82, -90, -58, 62, -25, -25, -39, 23, -41, 124, -14, -7, -43, 83, -53, -27, -44, -5, -42, -18, 123, -17, 65, -6, -19, 124, 0, -26, 10, 47, 103, 118, -23, -128, -32, 42, -86, 29, 117, 114, 57, 29, 50, 116, -36, 125, 120, -29, 76, 57, -28, -77, -114, -74, 113, 106, 81, 66, 10, 38, 10, 0, 123, 52, 62, 120, -40, -120, 117, 61, 19, -24, -73, -13, 25, 104, 121, -107, 37, 91, -7, 10, 5, -43, 31, -83, 114, 106, -28, 21, -59, -7, 12, 58, -91, 54, 117, 105, -5, 47, 21, 89, -106, 94, 59, -2, -34, -63, 124, -122, -90, 40, 100, -16, -19, -61, -13, -68, 55, -24, 116, 47, -61, -127, -20, 111, 121, -19, 81, 34, 122, 79, -34, 63, 78, -55, 26, -101, 107, -126, 125, 7, 108, 117, -17, 29, -67, -104, 36, 2, -21, -68, 34, 81, -85, -62, 95, -79, -26, -64, -58, 126, -69, -74, -9, 33, 3, -91, -73, 100, -76, -43, -13, -96, -50, -15, 56, 122, -118, -122, 91, -43, -99, -35, 125, -100, -84, -8, 75, -91, -53, -109, 94, 13, 117, -75, -59, -103, -84, 28, -39, -49, -118, -51, 64, -74, -30, -85, -18, 87, 25, -100, 97, 13, -26, -76, -14, 101, -15, -55, 19, -89, 38, -87, 2, 44, 117, 4, -69, 75, -125, 61, -34, -50, -26, 16, -110, 57, -77, -5, 116, -50, -73, 93, -44, -89, -53, -100, 46, 37, -21, -86, 109, -50, 17, 109, 99, 113, -114, 121, 6, -57, 24, -62, 57, -90, -58, 40, -87, -119, 69, -95, 106, 51, 56, 62, -45, -84, 81, -74, 60, -39, -10, 45, 67, 33, -88, -84, -76, -122, 19, -79, -61, 74, 65, -78, 35, -94, 126, 78, 108, -73, 57, -68, -38, -35, 120, -50, 72, -14, -49, 9, -22, 60, 103, 19, -65, -63, -120, -56, -59, 45, 71, -108, -47, -60, -17, -7, 104, 82, -105, 111, 58, -58, -17, -57, -42, -124, 105, -55, 120, -117, 20, 6, 90, 3, -55, -103, 117, 59, 29, 22, -103, 19, -87, 84, -3, 24, -26, -106, 110, 31, 10, -28, -35, 91, -34, 9, 35, 55, -114, 105, -80, -4, 30, 96, -115, -94, 47, -11, -83, 20, -8, 44, 79, 106, 24, -73, 68, -83, -52, -124, -83, -61, 111, -60, -48, 102, 113, 98, -6, -42, 81, -122, -109, 106, -22, 5, -34, 112, -128, 48, 0, -28, 18, 65, 82, -111, -25, 101, 71, -103, 70, 89, 33, 125, 33, 111, -107, 12, 58, -107, 9, -19, 27, 86, 68, 71, 107, 124, -100, 48, 84, -55, 38, -13, 68, -18, -108, 17, 84, -63, -57, 11, -82, 52, 126, 94, -15, -3, 70, 81, 112, -49, -4, 113, -125, -14, -87, 17, 11, 98, 22, 119, 38, -14, -90, 56, 111, -87, 42, -22, 92, 103, 85, -60, 87, 71, -8, 126, 84, -93, 98, 68, -68, 107, 103, -20, 102, 87, -92, 122, -54, 48, 104, -26, 29, -39, -12, -14, -69, -10, -55, -118, 58, -127, 64, 11, 59, 71, 5, -59, 24, -7, 7, 110, -102, -103, 17, 7, 38, 49, -70, -105, -37, -14, -80, 38, -63, -58, -11, -82, -109, -125, 58, 89, -126, -125, 5, 58, -40, 110, -49, -126, 44, 2, 41, -77, -50, -45, 117, -42, 118, -80, -59, -81, 21, 121, -109, -98, -80, -29, 120, 6, -59, -18, -111, 81, 4, -39, -113, 71, -48, 75, -101, 44, -84, 37, 90, 17, 100, -7, 1, 103, -27, 27, 125, -9, 93, 105, -36, 93, -114, 43, 116, 93, -114, 79, -16, 109, 115, 74, -25, 85, -106, -24, 118, 121, -110, -32, 37, -52, 1, -43, 36, -106, -97, 114, -83, 44, 98, 119, 69, -42, -89, -121, -19, 67, -39, 97, 100, -103, 7, -57, 87, 122, -20, -79, -91, -23, 97, 13, 23, -68, 47, -94, 94, 10, -87, 102, -42, -35, -115, -118, 56, -23, 46, 51, 25, 120, -13, -63, 108, -23, -19, -59, -69, -9, -4, -82, -110, -88, -119, 32, 54, -102, 96, 96, 61, -105, -96, -118, -36, 117, 60, 61, -50, -7, -125, -80, -56, -68, 59, -72, 111, -119, 47, -46, 120, -57, 126, 91, 46, -73, 59, -100, 110, -79, 56, 17, 7, 56, 7, -103, -70, -79, 47, -100, 4, -128, 66, 101, 25, 17, -94, 37, 9, -119, 115, -19, 90, -51, 62, -110, -69, -37, 114, 37, -94, 89, 123, -8, 79, -90, 28, -121, -95, 27, -120, -26, 114, -70, -75, 85, -42, 25, -70, 99, 32, -94, -27, 78, -106, -59, 118, -19, 48, -29, 117, 3, 58, 32, 40, 82, 109, -76, 58, -35, -98, 52, 124, -101, 58, 106, -114, 18, 89, -33, -83, -85, 109, 56, 87, -37, 48, 55, -90, 90, -29, -33, 90, -33, -10, -90, -121, 59, 45, 89, 85, -104, 13, 60, -84, 95, -40, 22, 116, -68, 32, 102, -12, 117, -45, 111, 111, 98, 52, 32, 55, -77, -38, 41, -10, 65, -8, -116, -79, -4, 119, 108, 107, -11, 62, 65, 17, 106, -19, 0, -41, -113, -52, -70, 124, 99, -37, -4, -51, 37, 17, -47, 10, 40, -34, -99, -33, 29, -9, -37, 27, 69, 81, 81, -121, -119, -70, -127, -127, -2, -86, 90, -9, 47, 13, 109, -11, -104, -49, -105, 95, 27, -94, 10, -94, 2, -34, -104, 97, 100, -116, -89, 91, 26, 63, 40, 108, 12, 56, 85, -123, -102, 87, 63, -59, 95, 122, -107, -71, 41, 73, 79, -86, 89, -13, -103, 24, -85, -86, 94, 11, -76, -102, 15, -72, -127, 31, 107, 59, -56, 9, 110, 64, 63, 122, -109, 33, 34, 52, -18, 41, -84, -68, 123, 2, -15, 125, 123, 125, 103, 123, 122, -72, 125, 118, 79, -17, -87, 73, -19, -76, 52, 72, -7, -99, 39, -119, -35, 40, -54, 122, 58, -80, -39, 91, -25, 85, -70, -20, 63, -96, -75, 103, -4, -60, -7, -76, 8, -21, 19, -14, 68, -44, 122, 88, 109, -64, -101, -26, 28, -73, -25, 122, -40, 119, 11, -44, -86, -9, -45, -22, -89, 3, -82, 34, 126, -127, 63, 114, -68, 97, -60, 108, -12, 81, 49, 20, 61, 127, 32, -50, 119, -96, -66, 80, 109, -128, 15, 27, 13, -56, -27, 91, -99, -97, 88, 5, -108, -121, 49, -122, 88, -63, 111, 56, 127, 68, -81, -121, 33, -84, 108, -64, -120, 40, 37, -37, 81, -17, 5, -11, -50, -76, 27, -34, 124, 86, -95, 24, 67, -32, -91, -88, -102, 15, 16, -16, 96, 65, -61, -71, -62, -32, 23, -62, 35, 125, -79, 39, 50, -83, -43, -79, 105, -23, 106, -19, -125, 119, 67, -18, -15, 124, 119, 21, -100, -59, -66, -34, 82, 71, -108, -39, -66, 72, 113, -103, 58, 25, 52, -86, -68, 116, -61, 80, 64, -33, -57, 63, -49, -73, -22, 75, 93, -93, -116, 6, 122, -35, 67, 88, 53, 42, -72, -36, -69, 96, 51, -122, 113, 86, 5, -127, -83, 81, 106, -39, -85, 121, -87, -124, -4, 126, 104, -4, -92, 96, -30, 113, -68, 100, -19, -67, 80, -34, -16, -95, -3, 4, -104, 33, -62, -123, -87, 90, 29, 77, -110, 49, -10, 19, 108, -81, -82, 98, 23, 92, -6, -77, -14, 66, -55, -76, -16, -118, 104, 100, -53, 21, -98, -28, -107, 30, 26, 14, -85, 17, -109, 42, 120, -84, -75, 57, -70, 21, -66, -47, -19, -7, -38, 48, -19, 76, 120, 28, 116, -92, 111, 34, 117, 55, -76, -109, -81, 88, -26, -64, 45, -13, 112, 33, -71, -38, 55, -106, 127, 54, 58, 96, -51, 51, -79, -102, -9, 17, -78, 35, -24, -68, 56, 127, 89, 116, -16, 55, -87, -125, -68, 36, -91, 51, -80, -83, 50, -97, -103, 120, -67, -15, -85, -97, 118, -125, 2, 93, 46, -82, -75, 40, 113, 82, 117, 84, -42, -7, 122, 118, 53, 32, -109, 31, -64, -57, -14, 20, 43, 3, 62, -6, -85, -52, -103, -10, -7, 91, 36, -20, 55, 119, -54, 45, -107, 106, -14, -36, -102, 53, -43, 59, 35, -126, -72, -89, 83, 32, -79, -26, -87, 90, 53, -5, -28, -60, 102, -125, -116, 49, 29, -33, 120, 14, -46, 6, 10, -124, -74, -60, -51, -39, -88, 61, 85, 65, 43, -72, -41, -5, -73, 34, -99, -14, 78, 8, -123, 50, -107, 105, -114, 64, 80, 69, 13, -58, -29, 64, 10, 49, -45, -67, 122, 120, 51, 72, 120, -77, -15, 119, -121, -113, 5, 23, -26, -17, 36, 125, -28, -51, 56, 37, -67, 114, -74, -46, -7, -42, 60, 30, -11, -62, 46, -108, 107, 88, 17, 57, 63, 49, -33, -4, 20, -46, 124, 74, 103, 69, 82, -81, 119, 103, 76, 16, 121, -13, -124, 11, -79, -62, 110, -68, -109, 102, -47, 118, 98, 79, 53, 5, -83, -89, 117, 94, 3, 96, -42, 34, -43, 103, -90, 125, -114, -86, 20, -38, -63, -116, 35, -9, -38, -101, -109, 14, 59, 45, -91, 31, 105, 76, -95, -115, 117, -81, 54, 6, -25, 62, -52, 56, -20, 116, 18, -112, -56, -33, 115, -26, 32, -25, 121, 29, -96, -26, -90, 104, -89, 122, 124, -1, -123, -11, -121, -77, -27, -111, 18, 22, -118, 4, -10, -27, -36, 19, -60, -21, 42, -19, 103, 69, 27, -34, 79, 111, -68, 91, 120, 22, 109, -97, -11, 17, -16, 72, -25, -87, -59, -121, 121, -77, -126, -49, -60, 2, 71, -81, 96, 97, 86, -102, -53, 87, 102, -99, -55, -117, 21, 61, -40, 12, -111, -89, 101, -37, -89, 106, 61, 65, 86, -104, 90, 16, -35, 27, -16, 65, -44, 99, -80, 45, 55, 3, -18, 75, -73, -46, 126, -37, 25, 42, 111, 24, -4, 85, 101, 42, -103, -14, 120, -12, -41, 74, 76, -61, 55, -12, 111, -31, 113, -5, -65, -91, -11, 106, 93, 66, -12, -102, 60, -103, 9, 80, -57, -6, 43, -47, 39, 90, 53, 108, 31, 31, 124, 46, -123, -102, -51, -69, -92, -23, 65, 84, 62, -17, 79, 116, 29, -4, -94, 61, -60, 114, -55, -72, -100, 85, 104, -128, 88, 82, -91, 109, -33, -53, -37, -22, -115, 126, 12, -79, 113, -128, -21, -43, 70, -79, 100, 39, 43, -48, 17, 51, 82, -8, -11, 47, 50, 91, -109, -116, -84, 65, -91, -7, -43, -10, 13, 69, -48, 27, -35, 94, 70, -66, -113, 95, 20, -120, -31, 58, 121, 126, -53, 126, -92, -100, -103, -36, -65, 47, -17, 7, 65, 74, -46, 53, 31, -74, -44, 73, -72, 118, -41, 105, 68, 13, -101, 77, 29, 95, 57, 37, 32, 100, 11, 111, -119, 14, 106, 19, 117, 77, 115, 28, -60, 94, -84, -81, -13, 97, -89, -71, 23, 3, -23, -90, -42, 119, 86, 52, 26, -45, -32, -87, 73, 97, 125, -45, 69, 119, 21, -5, -25, -120, 48, -126, -84, -61, -46, -79, 122, 16, -93, -62, -52, -38, -71, -117, -79, -92, 2, 42, 46, 116, -81, -83, -101, 80, -14, 79, -40, -113, -18, -114, 47, -70, 27, -43, 101, 39, 60, 13, 98, -53, -95, 1, 32, 63, 87, -32, -47, -14, 75, 10, -126, -89, -62, -121, -96, 103, -92, 75, 36, 105, 103, 17, 59, 110, 126, -35, 123, 48, 59, -68, 85, -104, 72, -19, -61, -57, 62, -90, 64, 40, -85, 29, 1, -79, 116, 54, 79, -127, 10, 9, 54, -94, 40, -4, -22, 43, 9, -83, -70, -15, -98, 32, 40, -40, 70, 44, -87, -43, -66, -40, -56, -114, 16, 53, -84, 112, -39, -90, -41, 51, -36, -113, -114, 9, -13, 89, -90, -100, 67, 125, -31, 87, 125, 35, -37, 98, 76, 76, 90, 81, -76, 10, -120, -7, -106, 84, 84, 3, 106, 119, 29, 21, -126, 82, -33, 37, 2, -96, -34, -124, -89, -17, -112, -31, -28, -100, -91, 15, 35, -8, 82, -91, -124, -42, -12, -118, 54, 121, 74, -20, 60, -56, -26, -85, 45, -71, 113, 90, 86, -69, 117, -12, 125, -36, 44, 17, 17, -2, 71, 87, 68, 5, -40, 110, -66, -69, -115, 2, -79, 17, -69, 57, 41, -120, 52, -3, -22, 24, 79, -67, -33, -76, 60, 121, -91, 47, -128, -52, -72, -66, 84, 88, -4, 114, 13, 47, -37, -68, -88, 119, -12, -100, -111, 51, -102, 33, -95, 101, -101, 30, 10, -55, 78, -30, -74, 102, -50, 81, 98, 34, -18, -81, 89, 89, -55, 116, -90, 107, 48, 12, 91, 109, 29, 29, 59, -26, -65, 117, -74, -28, 61, -59, 62, 102, 38, -72, -23, 79, -104, -47, 65, 108, -101, -85, -9, 103, -46, -2, -92, -90, 4, 25, -46, 78, 123, -25, 121, 73, 109, -34, 57, -45, -33, 75, 119, -104, 83, 92, 39, -65, 90, -43, -105, 88, -71, -71, -105, 21, -10, 88, 97, 59, 114, -88, 82, 114, -58, -28, 107, 85, 63, -101, -118, 50, 70, 15, 122, -71, 17, -21, -42, 106, -59, -96, 89, -11, -86, 44, 57, -41, 108, -15, -71, 115, -34, -12, -45, -37, -111, 106, -75, 126, -90, 117, -118, -3, 66, -127, -114, 61, 75, -25, -115, 91, 74, 116, -69, -50, 16, 103, -50, -62, 70, -85, 14, -79, -27, -113, -47, -4, 54, 95, -107, -89, 5, -91, 106, 94, 92, -74, -67, -99, 32, -127, -62, 42, -87, 77, 26, -74, -91, 78, 90, -60, -100, 19, 84, -78, 109, -83, -13, -103, -86, -72, -14, 0, -48, 126, -63, -41, 20, -110, 2, 123, 49, 89, -69, -121, 95, -78, -106, 4, 41, 59, -101, -78, -52, -46, 82, -96, -65, 32, 92, -75, 103, 20, 92, -108, -28, -11, 76, 17, -57, -94, 24, -53, -63, -68, 102, -115, 105, -5, -26, 97, -69, 32, -8, -95, -39, 94, -86, -120, -115, 121, 66, 85, 90, 10, -112, 40, -60, 61, -119, -5, 42, -124, -22, 8, 40, 58, 69, 16, 30, -66, -127, -30, -76, -117, 5, -69, 18, 126, -36, 109, 54, 93, -104, 119, -111, 115, -71, -22, 99, -2, 70, 66, 121, -36, -43, 89, -54, -39, -84, -19, 33, -121, 1, -52, 119, 17, 102, 119, -87, 78, 37, 111, 75, 94, -3, -81, -35, 61, 10, 114, 122, -113, -20, 34, 123, 52, 65, 59, -9, -79, 60, -67, 45, -39, -63, -5, 120, 14, 63, -32, 88, -36, -74, 0, 45, 97, -44, -122, -24, 78, 119, -15, -29, -91, -90, 109, -37, -85, 50, 18, -68, -44, 16, 62, 99, 55, 30, 57, -39, -3, 9, -115, -38, -2, -40, -85, -93, -58, 113, -112, -120, -5, 121, 87, 72, -36, -27, 45, 14, 60, -19, 123, 22, 66, 124, 50, -110, -2, 28, 56, -84, -10, -6, -28, -54, -87, 55, 18, 19, -95, 92, 59, 105, 28, -36, 99, -22, 56, -21, -10, 116, -38, -82, 108, -37, 125, 118, 64, 95, -23, 78, 23, 67, 101, -102, -128, -20, 113, -119, 115, -75, -76, 16, -74, 21, 66, -121, 8, 126, -8, -41, -69, -62, -97, -89, 104, -54, -88, -113, -1, -47, -4, -112, -111, 16, 79, -78, -107, -35, -22, -97, 20, 65, -37, -8, -108, -14, -88, 0, -65, -78, 67, 41, -79, -9, -37, 10, -41, 14, 107, 90, -92, -115, -9, 34, 123, -22, -113, -20, 82, -15, 107, 120, 78, -4, -68, 65, 56, -3, -10, 38, 32, -69, 39, 32, -101, -98, -98, -89, -41, 95, -36, -51, -112, 87, -27, -75, 26, 31, -83, 79, -91, -26, 67, 34, -110, 110, 93, -35, 74, -65, 101, 109, 31, 123, -117, 43, -82, -84, 81, -57, 48, 98, 108, 86, 120, 100, 78, -115, -30, -84, 48, 85, -26, -25, 83, 41, -106, -34, 22, 119, -38, 99, -76, -74, 112, 91, -74, -34, -92, 24, -21, 44, -72, -15, 82, 53, 6, 23, 9, -58, 67, -118, 9, -123, -4, -31, 30, -72, 98, 86, -32, -87, 112, -18, 20, 56, -96, 80, -74, 58, -21, -114, 86, 81, -16, 49, 61, 27, 4, 4, -121, -75, -61, 108, 63, 34, -91, 123, 64, 14, -118, 27, 108, 91, -67, 85, 85, -25, 66, -4, 117, -15, 119, 17, 45, 86, -101, -5, -74, -101, 89, -74, 89, -9, 49, -100, 99, 96, -122, -2, 40, -51, 54, 113, -61, 41, 1, 27, -103, 112, -12, -78, 37, 53, -77, -72, 79, -43, 86, 75, 60, 79, 47, 113, -124, -83, 106, -20, -21, -113, 109, -29, -10, 22, -30, 69, 60, -81, 3, -4, -73, -12, -3, -51, 38, -101, -56, 90, -93, 45, -7, -92, -64, 102, -113, -68, -67, -30, -89, -79, 90, -44, -58, -95, -5, 49, 30, -8, 44, 45, 54, -88, 58, 88, -33, -69, -80, 40, 32, -72, 120, -45, -118, -76, 91, -35, 96, -93, -14, -10, 113, -47, 94, -15, -87, 34, -10, 72, -77, 42, 3, -61, 50, 15, 55, -56, -88, 114, -82, 45, 86, 51, 25, 49, -102, -75, -35, 100, 27, -28, -18, -61, 49, -67, 39, -115, -15, -53, -92, -122, 10, -49, 104, -56, -56, -66, -75, -76, -47, -38, -8, 45, -118, -99, -43, -92, -98, -81, -83, 107, -34, 112, 66, 6, 88, -52, -106, 84, 60, -123, -74, -54, 50, 25, 53, 114, 82, -104, -64, -10, 33, 10, -38, 48, 109, -79, 48, 92, 92, 101, 104, 92, -50, -45, 82, -1, 124, 18, 44, -73, 33, -32, -7, -112, 19, 77, 110, -37, 71, -38, -73, -110, 100, -76, 54, -15, 29, -128, -31, -40, -109, -26, 66, 71, -17, 102, -35, 62, 79, -54, 103, 33, 26, 26, -12, 108, -85, 109, -43, -80, 5, 123, -40, -89, 41, -92, 117, -60, -88, -113, -17, -88, -49, 109, -61, -10, 27, -82, -72, 95, -14, 77, 18, 127, -61, -80, 66, 84, -9, -111, -58, 64, -23, 18, -94, 47, -122, 47, 95, 95, 64, -75, 69, -66, -67, 24, 61, -108, -105, 90, 113, -69, -91, -62, 34, 39, 2, 127, 99, 121, 60, 93, 56, -27, -82, 71, 94, 27, -124, 0, -11, -33, -12, -53, 31, -81, -57, -32, 45, -108, 9, 94, -106, 14, -108, -68, 7, 5, -39, -87, 13, -17, -58, 32, -47, -72, 55, 67, 74, 70, -47, 121, 100, -112, -15, -118, -89, -14, 126, 49, 29, -36, -122, 63, -111, 84, 28, -32, -117, 97, 105, 97, 80, -2, -66, -7, -63, 9, 122, -14, 88, -113, 66, -105, -118, 6, 122, 81, -14, -59, 32, -109, 106, -38, 53, 68, 2, -97, 3, 6, -119, -55, 111, 47, 93, -52, -2, -10, 56, 63, -113, 84, -7, -122, 84, 72, -10, -16, 71, -66, -14, 0, 26, 119, -38, -42, 120, -52, 94, -49, 8, -106, -55, 11, -82, -108, -30, 15, 47, -8, 50, -86, -102, -56, -97, 104, 97, 61, 62, 90, 19, 17, -111, 113, 70, 62, -26, -104, -11, 76, -19, 106, 81, -97, -100, -24, 24, 8, -102, 5, -68, -106, 97, -91, -74, 22, -112, 56, -92, -76, 41, 40, -48, 62, -102, 32, 1, 30, -95, -68, 8, 50, 54, 74, -124, 84, 39, 68, 121, 96, -6, 103, -110, 78, -123, -57, 64, -118, 118, 19, -107, -53, -83, -84, 90, -67, -99, 4, 44, -54, -64, 89, 96, 48, -5, 116, 81, 93, 73, 124, 12, 69, -115, -44, 18, 96, 108, -111, 111, -62, -26, 117, -115, 108, -59, 68, 119, -91, -39, 123, -12, -44, 119, -55, -68, 70, -88, -44, -89, -12, -107, -51, -72, -116, 54, -53, 3, -2, -80, 102, -52, -10, -39, -114, -37, 23, -61, -30, 71, 108, -42, 64, 46, 53, 113, 121, 15, 10, 107, 112, 83, -78, -102, 20, -80, -113, -75, 21, 93, -51, -122, -106, 82, 56, 53, 110, -83, -26, 91, -28, -105, -113, 17, 65, -11, 102, -82, -43, -10, 99, -12, 70, -21, 69, -36, -118, 97, 86, -54, 59, -17, -10, 111, 95, -97, 2, -54, -85, 99, -52, -17, 120, -97, -26, 35, 99, -69, -105, -100, -18, -81, 71, 101, -92, 41, -120, -61, -64, 12, 15, -113, 38, 112, 98, -76, -25, -5, 93, 121, 113, -114, -4, 27, 15, -52, -35, 78, -117, 118, 60, -39, -54, 85, -128, -31, -49, 37, -127, -68, -57, 42, 4, 19, -27, 89, 126, -68, -74, 84, -39, 105, 48, 104, -4, 15, 103, -101, 21, -44, -99, -51, 33, -72, 95, 80, -101, 27, 92, -66, -35, 65, -66, 17, 60, -105, 25, 94, -88, -109, 72, 5, 39, -52, -61, 70, 52, 72, 37, -27, 99, -42, 53, 37, 88, -115, 119, -116, 50, 15, -36, -125, -122, -123, -13, -93, -122, -76, 70, -113, 113, -125, -36, -116, -120, 94, 29, -127, 105, -80, 85, 4, 76, -66, 127, 23, 96, -67, 89, -128, 81, -93, -128, 33, -47, 9, 45, 17, 39, -113, 116, -67, -95, -103, -116, 66, 125, -91, -91, 54, 125, -3, 81, -53, 79, 123, 108, 123, 15, -118, 23, 60, 40, -73, 49, 122, 35, 66, 34, -70, -104, -67, -122, 27, -99, -128, 92, -20, 56, 120, 69, 64, 31, 6, 46, 21, -64, -124, -56, -35, 9, -24, -77, -91, 65, -52, -42, -84, -97, -40, -67, -111, 82, 109, 44, -39, 52, 85, 45, -72, -124, -55, 32, -33, -105, 22, -104, -82, 55, -26, -24, 8, -16, 39, 10, -72, -63, 18, 91, 18, -63, -26, 2, 69, 51, -66, 88, 122, 113, -114, -105, 117, -74, -33, 3, 117, -41, -105, 30, 17, 73, 52, -113, -90, -60, -124, 19, 36, -35, -36, 125, 60, -120, 65, -78, 111, -87, -72, -7, -68, -63, -58, 78, -36, 22, -63, -115, -84, -5, -91, 117, -8, -105, 68, -105, 81, 107, -128, -103, 117, -117, 45, -72, -95, 90, -61, 96, -14, 86, -85, 91, 14, 25, 113, -94, 53, 33, 68, -75, -64, -112, -89, 36, 0, -125, -80, 74, 60, -84, 58, 28, 5, 10, -16, 19, 120, 9, 75, -48, -11, -112, -29, 93, 105, -62, 62, -75, -38, 119, 47, -16, -109, -126, -120, -37, -50, 22, -48, -83, -111, -118, 119, 2, -70, 108, -9, -27, -17, 4, 120, 101, 115, 41, -18, 27, 3, -25, 117, -9, 5, 71, -22, 19, 49, -13, 110, -119, 102, 54, -59, -69, 30, -114, 71, -28, 11, 74, 74, -98, -31, 42, 65, -43, 96, -75, 34, -121, 4, 100, 9, -105, -10, -29, 39, 89, 30, 25, 17, -1, 34, 82, -71, -87, 51, -40, 118, 54, -17, -127, -78, -19, 100, 61, -55, 37, 69, 51, 39, 103, -47, -120, 109, -106, -94, -47, 97, -75, 127, -15, -50, 70, 79, 22, -9, -5, -24, 87, 104, -55, -120, 42, 107, 44, -86, -109, -65, -101, -45, 7, -52, 94, 42, 82, 26, -121, -33, -118, 6, -75, 58, 37, -66, -63, -12, 118, -110, -102, 26, 50, 11, -37, -100, -77, -97, -10, 59, 112, 89, -54, -100, 81, -21, -117, -104, -46, -66, 113, 43, -91, -91, -62, 93, -45, 86, 27, 44, -3, -76, 124, -63, 50, 102, 103, 37, 35, 103, -49, -102, -70, 84, -84, -25, -105, 24, -109, 8, -42, 83, -73, -94, -115, -35, 89, 115, 50, -95, 85, -92, 68, 100, 96, 24, 69, 108, -33, -34, 39, -39, 17, 17, -100, 11, -14, 53, 105, -51, 101, 116, 27, 71, -116, 127, 18, 25, 66, -19, -47, -79, -67, -67, -4, 4, -47, 90, 40, 79, 81, -90, 89, -35, 110, -11, -51, 36, -125, 43, 79, 96, 32, -7, 38, -30, -82, -95, 58, -53, -61, 34, -14, 125, -104, 18, 102, 49, 102, 105, -36, 82, -55, 10, -78, 12, 86, 85, 29, 31, -79, 12, -16, 41, -62, 10, -54, -97, 89, 41, -95, 21, 16, 35, 73, 121, -55, -79, 56, -30, -112, 72, -41, 124, 98, -30, -84, 103, -111, -123, -65, -65, 5, 88, -37, -91, -1, -105, -42, -6, 46, -7, 66, -49, 124, 86, -31, -127, 109, -47, 94, -121, -83, 94, -87, 95, -31, -108, -59, 74, 117, 5, -12, 88, -21, -20, -115, 124, -37, -106, 69, -73, 97, -103, -60, -90, 51, 30, 16, 37, 76, 5, -87, -16, -50, -78, 69, -103, -109, -118, 14, 78, -49, 121, 45, -57, -17, -127, -96, -128, 122, -30, 8, 115, -14, -106, 119, 32, 72, -55, 65, -65, -43, -67, -80, 63, 17, -15, -121, 10, -51, -15, 118, 52, -98, 117, 59, 69, 8, 91, -80, 37, 119, -121, 44, 15, 76, 11, 15, -19, -22, 50, 79, 60, -99, 36, 95, 92, 87, 18, -73, -97, -111, -70, -19, 33, -53, 58, 54, -94, 102, 11, -59, 55, -112, 97, 57, 67, -123, -17, 30, 4, -25, 63, -35, -64, 104, 92, -76, 102, -9, 89, -75, -65, 118, -9, -111, 55, 92, 42, -82, 47, 94, -16, -14, -41, -43, 117, -109, -101, 38, -106, 76, -12, -102, -20, -102, -107, -41, 98, 68, -116, 74, 26, -107, 97, -56, -105, 87, -8, 57, -86, -42, -103, -93, -106, 4, -81, 119, 49, -24, -25, 17, 112, 121, -67, 63, 4, 20, 3, -63, -5, -99, -96, 22, -20, 83, 125, -55, -63, -21, 59, 85, -41, 70, -7, -67, -63, -23, 85, -42, 4, 92, -114, -97, -85, 96, -21, 39, 31, -29, 44, 17, -7, -33, -4, 70, 107, 106, -56, -41, 43, 63, -101, -78, 109, 65, 46, -72, -108, -104, 70, -43, 46, 36, 41, -124, -5, -117, 65, -105, -33, -9, 44, -104, 100, -34, 42, 8, -112, -77, 102, -9, -40, -106, 15, -35, -115, 86, -127, -48, -54, 98, -56, -2, -120, -42, 30, -57, -27, 90, 71, 87, -122, -68, 71, 19, 101, -76, 6, -52, 48, -11, 122, 79, -77, -50, 126, -26, -28, -33, 32, 98, 17, -44, -30, -114, -103, -110, 67, -84, -53, -1, 6, -74, -38, 73, 41, -36, -80, 87, -43, -83, 45, 14, 41, 91, -62, 104, 88, -19, 23, 93, -75, -18, 21, -115, 24, 76, 76, 108, 34, 25, 7, 100, 86, -64, -76, 91, 75, -38, 34, -28, -114, -92, -87, -20, -52, -98, 119, 82, -108, -61, -125, -83, 118, -17, -27, 60, -128, -80, -115, -124, 121, 79, 23, -47, 106, 95, 71, 68, 78, -15, 60, -12, 120, 77, -118, 120, 62, -102, 120, 73, -95, 68, -84, -60, 58, -74, -36, -86, -6, -23, 108, 77, 35, -55, 98, -39, -103, 95, -96, 54, 58, -32, -47, -77, 9, 109, -15, -54, 46, -73, 94, 107, 47, 27, 80, -71, 45, 120, 84, -88, -102, 123, -5, 90, 110, -20, -106, 56, 15, 30, -47, 25, -68, -86, -85, -98, 25, 95, -36, -22, 7, 102, 96, 34, 122, -21, -41, -104, 86, -20, 94, 91, -104, 9, 54, 46, 13, 71, -17, 3, 55, -84, -108, -108, -125, 65, -101, -69, -42, 77, 75, -7, 43, 34, -119, -112, -60, 81, -95, 99, -42, 94, -53, 37, -49, 58, -63, 59, 73, 105, 88, -24, -120, 16, 25, -100, 102, 44, -33, 87, 34, 15, 88, 46, 18, -21, -10, 45, -43, 75, -110, 69, -55, -119, 31, 3, -101, 57, -40, -47, -16, 87, 122, -49, 72, 87, -66, 123, 96, 83, 125, -107, 3, 22, 11, -68, 3, 51, 110, -119, -32, -120, -87, -74, -92, 118, -123, -66, -58, -44, 108, -106, 121, 65, 104, -119, -57, -109, -42, 75, -69, -98, 84, 39, 70, -124, -66, -63, 108, -113, -55, -49, 123, 108, -91, 126, -29, 10, 12, 44, -58, 37, 19, -63, -115, 103, -70, -44, -94, -83, -101, -58, -83, 97, -96, 19, -83, 93, 109, 107, -56, -47, 16, 75, -3, -55, 22, -52, 80, 125, 125, -60, -118, 22, -48, 53, 121, -18, -38, 104, 126, 116, -30, -90, -126, -36, 108, -119, 28, -93, 102, -14, -3, 83, 75, 118, 41, -90, -49, 22, -116, -80, -74, -92, 120, -71, 45, -57, -41, 68, -52, 110, 90, 123, -87, -125, 90, 74, -53, -45, 68, -16, 67, 121, -49, 83, 75, -114, 5, 21, -75, 12, 103, 61, 53, 43, -14, 107, 46, -57, 64, -113, 9, -64, 74, -118, -111, -104, 98, 100, 106, 73, 93, 105, 9, -79, -3, 6, -40, -59, 6, -68, 34, 42, -85, -67, -92, -128, -73, -74, -126, 121, -86, -114, -6, 98, 49, -15, -69, -119, 22, 30, 37, 117, 71, 19, 122, -102, -116, 84, -58, -121, 17, 54, 54, -11, -10, -105, -100, 84, 56, -91, 91, 96, -27, -11, 98, 49, -49, -46, 13, -85, -27, -58, -29, 110, -21, 114, 88, 1, -39, 22, -127, -98, -98, 30, 74, -30, 105, -109, 63, -122, 88, -59, 116, -18, -75, -108, -45, 37, -81, -90, 80, -100, -50, -43, 3, 12, 15, -101, 90, 110, -108, -107, -112, -85, 71, 119, 83, -92, -33, -29, -68, -34, -27, -75, 57, -38, -75, 62, 22, 0, 43, 44, 23, -37, -105, 94, -101, 108, -86, -87, 112, 115, 2, -5, -98, 46, 32, 24, 76, -42, 21, 47, -102, 103, 46, -34, -50, 127, -22, -115, -87, -77, 49, 91, 126, 42, 48, 106, 49, 119, -119, 20, -33, 7, -9, 71, 61, -81, -128, 115, 115, 66, 33, 2, -75, -16, 46, 44, -51, -61, -71, -88, -76, 109, -58, 122, 50, -5, -115, -120, 67, 11, -26, 112, -80, -126, 120, 106, 113, 58, -10, 61, -15, 53, 73, -34, 109, -67, -60, 17, 99, -83, -3, -91, 122, 6, -94, -94, 26, 34, -35, 58, 98, -66, 93, -52, 24, -126, 17, 123, -71, -1, 38, -4, 105, 84, 1, 13, -109, -128, 101, 52, 123, -108, -124, 12, -36, -22, 93, 87, 77, -76, 88, 47, -46, -16, 42, 126, 80, 85, 19, 81, -33, 32, 79, 108, -112, -43, 30, -75, 9, 40, -50, -9, -40, -67, -96, -85, -68, 123, 51, 127, 79, -21, -38, 104, 28, -51, -125, 61, -31, 84, 38, -48, -128, -47, 44, -19, -86, 48, -51, 16, 47, 112, -71, 65, 1, -67, 95, 108, 76, -19, -6, 50, -77, 35, 60, -9, 126, -4, -12, -102, 86, -13, -40, -114, 48, -46, -58, 6, 102, 82, -74, -85, -84, 122, -19, 82, 117, 38, -90, -52, -93, -16, 23, 127, 44, 70, -53, -25, 61, -87, -128, 9, 81, -71, -24, 85, -56, 76, -6, 113, -63, 27, 19, 31, 77, -64, 94, -38, -22, -97, -88, 107, -58, 104, -53, -5, -125, -88, -36, 55, -114, 123, 120, 21, -36, 114, -23, 14, 12, -2, -68, -85, 86, 62, 66, -9, 72, -60, -21, 75, -65, 61, 36, 126, 124, -38, 60, 110, -48, -22, -27, -81, 106, 84, 101, -67, -113, -55, 37, 110, -42, 24, 23, 20, 46, 22, 53, -109, -3, -81, 7, 93, -66, 67, -15, 117, 117, -43, 54, 81, -54, -58, 96, 14, 97, 48, 33, -59, -7, 15, -49, 20, 105, 98, -79, 21, 16, 112, -21, -117, 46, 99, 31, -17, 81, 95, 127, 85, 65, -37, -83, -92, -5, 30, 13, 115, -118, 119, 52, 63, 68, 70, -52, 7, 69, -24, -42, -81, -39, -33, -91, -107, 98, 82, 109, 61, 74, 68, -118, -70, 74, 77, 47, -37, 88, 5, -115, -127, 8, -66, -91, 99, 18, -86, -42, 115, -53, -14, -94, 103, 100, 27, 71, 45, 86, 18, -122, 26, -29, 68, 124, -3, 19, -87, -16, 8, -127, 70, 57, -31, -21, -87, 57, 30, 122, 93, 22, -29, 30, 107, 33, 96, -72, 21, -72, 76, 93, -95, -124, -79, 107, -67, -7, -74, -16, -127, 12, 100, -39, -54, 36, 113, 91, 60, 1, -79, 123, 26, -27, -105, -56, 59, 27, -6, -56, 99, -67, 64, -2, -126, 66, 9, 59, -115, -38, -41, -47, 105, -126, -42, -17, -83, -121, 99, -80, 93, -74, -80, -96, 36, -124, 74, 105, -81, -19, 70, 17, 102, -85, 36, -121, 92, 93, 99, 31, 111, -115, -53, 42, -90, 30, 75, 40, -37, -65, -45, -124, -31, 94, -38, 95, 110, 99, 22, -21, -4, 27, 12, 103, 84, -66, 44, -34, 88, 38, 52, 68, 124, 43, 27, -47, -79, -74, 91, 70, -39, 10, -56, 104, 70, 4, 59, 37, -102, 51, -28, 2, 40, 119, -108, -100, -64, -27, 53, -122, -24, -98, 9, -7, -110, -6, -100, 76, 82, 94, -100, -67, -24, 102, -82, 71, 121, -105, 60, -49, -76, -68, -10, 50, -119, 94, -120, -87, -80, -62, 118, 101, -27, -42, 24, -81, -20, -119, -40, 83, -90, 53, 116, -73, 49, 13, -104, -118, 69, -81, -63, -60, 20, -83, -68, -99, -23, 38, 115, 69, 74, -49, 101, 82, -68, -52, -44, -5, 90, 34, -84, -84, 73, 121, -21, -110, -20, -118, -58, 22, -5, 69, -40, -2, -111, 69, 13, 18, -51, -52, 90, 123, -41, -47, -39, 0, 15, 114, -23, 87, -97, 18, 12, -45, -5, -79, -112, -46, -93, 58, 69, 52, -38, -117, 79, -109, 45, -77, 66, 70, -51, 104, 104, -33, -100, -68, -30, -95, 67, -124, 77, 105, 56, 116, -81, -60, -127, -4, 122, -26, 99, 78, 27, -124, -8, 61, -24, -21, -124, 46, 93, -24, -118, 121, 43, -85, 109, -67, 36, -107, 117, 34, 85, -7, 61, 106, -7, -39, 114, 50, 23, -114, -111, 5, 117, -71, -118, -25, -117, -97, 7, -89, -19, -121, 71, 8, 14, -73, 16, -87, 106, 68, -28, 77, -14, -112, 24, 127, 76, -81, -114, 106, 59, -51, -42, -5, -14, -82, -93, -98, 84, 12, -31, -81, -30, -58, 30, 113, 56, 58, -59, -77, -34, -80, -47, 17, 42, -106, -56, 83, -65, 56, -79, 7, 70, 26, 4, 91, -31, 117, -14, 80, 86, -19, 69, 122, -7, -13, 102, -109, 21, 124, 81, 82, -14, 106, -67, 117, 87, 24, 114, -111, -119, -106, -24, -94, -112, 27, 23, 111, -74, 70, 111, -32, 75, -111, -71, -40, 68, -127, 80, 101, -68, 52, 79, -113, -40, 91, -72, -28, -26, -93, -74, 91, -89, -13, -92, 67, 93, -111, 109, 107, -62, 73, -115, -113, 36, 90, 39, -127, -112, -114, -80, -95, -10, -91, -56, 4, -48, 73, 124, -86, -46, -55, 21, -76, 108, 35, 23, 94, -34, -11, -101, 101, -32, -28, 24, -77, -52, 41, -67, -89, -126, -8, -98, -116, 109, -113, -74, 35, -15, 100, 25, 46, 71, 104, 26, -58, 11, 10, 25, -115, -56, -56, 7, -26, 46, 42, 96, 113, 21, 109, 12, 55, 61, -41, -55, 2, 29, 59, -112, 88, 52, 9, 66, 28, 4, -18, 94, 111, 49, -20, 77, 20, -24, -84, -59, -53, -85, -8, -92, -69, 46, -125, 110, -122, 8, -76, -82, 20, -119, 40, 94, -66, -36, 11, -69, 48, -68, 24, -110, 46, 8, -59, -9, 108, -21, -28, 1, 97, 76, 80, 83, 120, 106, -29, -128, 90, -124, -109, 64, 52, -66, 8, 94, 40, -55, 86, -94, -88, -83, 12, 68, -48, -75, 60, -80, 49, -117, -21, -112, -47, -30, -90, -128, -27, -55, 35, -124, -120, -44, 99, -35, 12, 94, 77, 121, -34, -82, 10, -1, 17, 29, -86, -101, -41, -29, 57, -47, -60, 99, -82, -53, -32, -103, 38, -42, -4, 65, 120, -119, -54, -94, 6, 64, 21, 96, -100, 5, 126, -40, -125, -78, 77, -85, -125, 107, -110, -60, -12, -120, -37, 115, -61, 4, -91, -15, -128, 14, -51, 74, 72, -43, 117, -119, 14, -18, -71, -100, -40, -8, -78, 20, -45, -7, 53, -60, 69, 97, -27, -123, -50, 96, -37, -120, -110, -6, 35, -96, 98, 1, 71, -106, -11, -80, -9, -15, -66, -17, -100, 2, 37, -63, -76, -109, -97, 117, -53, -119, 123, -126, -67, 31, -110, 4, -92, -127, 91, -23, -18, -74, 86, 22, -61, -22, 21, 1, -67, 2, 21, 61, -11, -74, 36, -81, -82, 78, 126, -27, 92, -113, -59, -12, -80, -1, 100, -95, 76, -123, -57, 117, -6, 69, 24, -101, 44, 53, -11, 115, -95, 12, -90, 43, -74, -36, 45, 27, -109, -58, 14, 19, -79, -75, -34, -24, 76, -106, 11, -117, 21, 76, -76, 5, -79, -38, 104, 93, 35, 114, -26, -13, 77, 97, 46, -18, 14, -62, -15, 5, -103, 68, 53, -93, 42, 116, 100, 125, 29, -125, -5, -60, -18, -119, 75, 127, 34, 108, -65, 110, 113, -41, -94, 107, -70, 4, -71, -51, -94, 119, -120, 84, 111, -77, 71, -58, -120, -121, 18, 29, -21, 113, 74, -54, 53, 15, -127, 113, -63, 23, -92, -50, 3, 93, -113, 39, 9, -68, -44, 60, -71, 98, -26, -44, -61, -18, -47, 28, 104, 82, -76, -35, -109, 110, 79, -114, 15, -109, 72, 74, -57, -27, 50, -49, -42, 43, -96, 97, 92, 65, -34, 73, 114, 94, -35, -125, -66, 66, 16, 77, 12, -84, -14, -75, -43, -60, 49, 51, -123, -14, -68, 39, -87, -120, 118, -93, -19, 111, 95, 38, 43, 74, 85, -76, -88, 82, -9, 62, -65, 14, -80, 11, -18, -100, -119, 39, -60, -19, 62, 127, -24, 123, 122, -9, 97, -17, 57, -106, -12, 74, -118, 44, -32, 76, 24, 123, 89, 7, 16, 104, 78, 62, -33, 101, 49, -28, 54, -60, -85, 76, -52, 35, 10, -89, -16, -59, -71, 85, -52, -53, 74, 24, 70, 107, -101, -37, 10, -65, -76, 28, -81, -101, -46, -64, -12, 41, -91, 60, 26, -77, 4, -63, 108, 28, -51, -28, -20, -28, 60, -113, 10, -5, 66, 85, 51, -101, 100, -28, -25, 76, 29, 110, 101, 38, -77, -97, 123, 47, 18, -101, 100, 47, -33, 122, 99, -14, -88, -29, 32, -70, 2, -9, -48, -63, -25, 43, 18, 41, 57, -9, -24, -47, 76, 50, -20, 113, 76, 108, 86, -68, 108, -103, 73, -126, -29, -16, 10, -56, 115, -98, 27, 113, 61, 121, -77, 111, 92, 89, 66, -38, 34, -41, -29, -41, 78, -121, -31, 62, 16, -84, 25, 110, 70, 76, -73, -45, 79, 70, -66, -13, -113, 41, -43, -50, -33, 118, -19, 85, -40, -108, -124, -115, 121, -71, -76, -71, 39, -24, -26, -111, -58, -56, 66, -111, -21, -60, -32, -91, -13, -45, -90, -128, -82, -87, -101, 122, -15, 31, 53, 119, -11, 96, -68, -54, -116, -73, 98, 87, -128, -113, -12, 58, 39, 48, -85, 70, 99, 2, -76, -27, 61, -87, -10, 80, 86, 81, -48, 39, 49, 95, 71, 72, 5, -33, 36, -70, 7, 44, -36, 104, 57, 94, 68, -17, -36, 24, -81, 42, -100, 65, -109, -116, 72, -25, 93, -69, -53, -10, -94, -123, -73, 65, 122, 113, -52, -73, 51, -31, 113, -112, 119, 120, 105, -73, 101, 29, -39, -35, -21, -5, -62, -83, -37, 58, -125, -122, 122, 48, 101, -76, -21, -59, 100, -8, -97, -83, 122, -59, 47, 67, 98, 46, -84, 72, 79, 26, -63, -53, 51, 0, -25, -12, -89, -44, 61, 32, 83, 6, -12, -47, 37, 71, -97, 87, -57, -83, -58, 29, -49, -87, -53, 23, 46, -89, 75, -43, -33, -13, 113, 69, -127, -24, -73, 36, 58, -109, 123, 4, 89, -35, 1, -96, 122, 43, -101, -53, 6, 52, -96, -4, -103, 101, -106, -97, 79, 34, 33, 122, -73, 48, -67, -35, -11, 98, -105, 94, 46, 81, 112, -41, -54, 38, -13, -26, -28, 80, 2, -56, 6, 5, 10, -6, 58, 41, -17, 33, 113, 81, -95, -91, 59, -110, -86, -47, 98, 24, -83, -18, -61, 112, 91, 74, 16, -32, 126, -124, 93, -113, 119, -79, -13, 1, 121, 109, 46, -54, -46, 24, -119, -117, -98, -20, -88, -44, -35, 69, 13, 41, -106, -76, -80, 36, 12, 24, 99, 1, -67, 24, 70, -80, 78, -104, 127, -49, 30, 122, -28, -121, -116, -33, 79, 82, -117, -84, 48, -126, -85, -95, 31, 56, -115, 76, 44, -49, 40, -6, 71, -90, 126, 33, 16, 107, 42, -4, -50, -111, -20, 51, -21, 108, -34, -74, -28, -110, -2, -86, -45, -68, 34, 15, -52, 75, 22, -74, -91, 38, 7, 37, 36, -70, -7, -15, -94, -121, 28, -70, 18, 119, 67, -20, -22, -91, 93, 28, 98, 76, -10, -63, 54, -30, -74, 18, -72, -68, 7, 78, 125, 39, -29, 64, 21, -40, -80, 52, 19, -45, -26, 110, -116, -8, -30, -58, -99, -109, -116, 52, -8, -87, 68, 2, -76, -2, -28, -118, -6, 48, 17, 4, -69, 5, 87, -110, -96, -68, -43, 67, 71, 6, 23, 59, 56, 110, -118, 39, 9, 18, -123, 92, 37, -110, 90, 53, 43, -15, 100, 47, -128, 27, -82, -62, 79, 25, -61, 27, 94, 105, -26, 40, -47, 86, 29, 30, 119, -46, 109, -91, 78, -13, -110, -68, 17, -127, 108, 70, 18, 20, -116, 84, 70, -66, -9, 38, 44, 42, 99, 51, -33, 82, 13, 122, 95, -126, 54, 34, 72, -118, 30, 18, -67, 39, -77, 100, 37, 110, -114, 54, 89, -38, -40, -7, -105, 48, -11, 116, 49, -122, 97, 34, -95, 81, -121, -21, 1, -44, -16, 117, -56, 24, 12, 84, 1, 107, 85, -19, 20, -118, -25, 7, -79, -116, 89, -71, 75, -42, 6, 22, -69, -15, -112, -25, -5, -106, -127, -102, -68, -15, -105, 64, 1, -79, 59, 9, 89, -78, -34, -15, 69, -12, -53, 30, 58, 67, -127, -1, 24, -14, 20, 13, -21, 113, -74, -111, -13, 68, -100, -113, -94, 124, 38, -37, 71, 93, -117, -70, -65, -68, -25, 5, 81, -10, 40, -53, -25, 101, -39, 59, -50, 38, 21, -115, -57, -118, -60, -122, -68, 39, 78, 78, 121, -15, 39, 57, 29, -25, -41, -78, -6, 40, 79, -25, -72, -104, -84, -120, 13, -92, 63, -28, 125, 114, -50, -50, -119, -111, 39, -57, 32, -17, 51, 101, -55, -74, 81, 58, -108, -25, -77, 40, 30, 68, -59, 96, -108, 77, -28, 92, -12, 103, -4, 41, 117, -120, -53, -33, -72, -72, -113, 99, 96, 84, -51, 93, 17, 127, -57, -39, -83, 34, -5, 81, 126, -120, -14, 107, -44, 92, 92, -106, 127, -14, 19, -15, 126, -120, -101, 15, -30, 98, 80, -54, -115, -101, 7, 42, -102, -25, -26, 60, 27, -57, -89, -78, -58, 88, 86, -82, -56, -13, 81, 117, -100, 28, 71, 84, 13, 33, 107, -63, 40, 59, -56, -8, -117, -70, 46, 109, 93, 86, 60, 70, 49, 33, -54, 79, 81, -57, 82, -65, 40, -97, -59, -23, 34, -3, 33, -11, -7, 51, -68, 54, -17, -105, 62, -114, 107, 39, -3, 85, 94, -1, 121, 101, -12, 31, -59, -57, -88, 123, -54, -109, 19, -105, -117, 101, -59, -92, -108, 91, 86, 45, 85, -47, -8, 46, 43, 39, -93, -30, 36, 42, -73, 100, -67, 111, 126, -54, 90, 15, 70, -59, 99, 92, -98, -59, -115, -91, 60, -122, -105, 53, 7, 84, 116, -66, -105, 118, -106, 57, 25, 37, 39, 42, -42, -30, -12, -117, -86, -33, -54, -117, -51, 40, 89, 113, -21, 71, 83, -122, -76, -77, -28, 88, -108, -17, 100, 91, 25, 19, 81, -6, -107, -59, 36, -103, 47, 101, -7, 56, -114, 119, 101, -27, 103, 121, -3, -104, -10, -120, -86, 83, -27, 26, 48, 42, -98, -94, -58, 20, -9, -36, -80, -84, -72, -117, -30, 111, 94, -94, 52, 79, 43, 18, 27, 127, -122, -89, -27, -27, -107, -71, 31, 87, -121, -107, 53, 111, -107, 39, 91, -10, 47, 99, 69, 62, 7, 40, -17, -2, -78, -58, 16, 85, 51, 70, 61, 31, 64, 12, 68, -23, 83, -98, 93, -27, -65, 79, -1, 111, -2, -28, -3, -55, -10, -71, 127, -77, -4, -1, -12, -40, -51, 124, -1, -65, -16, -7, 51, -2, -7, 111, -16, -91, 105, 123, 51, -33, -93, -114, -29, -18, 43, -81, 109, -10, -13, -9, -6, -23, -49, 124, 114, -59, -10, -49, -36, 39, -25, 83, 83, -113, -118, -22, 19, 117, -17, 127, -117, 109, -78, -97, -1, -66, 79, -106, 33, -1, -70, 79, 89, 121, 18, 53, 15, 71, -43, -91, 113, -3, 84, 36, 7, -27, 90, -95, 44, -1, -105, 23, 7, -1, 44, 15, -1, -116, -51, -14, -60, -66, 100, 90, 69, 62, 81, -19, 115, 34, -74, -1, -118, 79, -82, -112, 17, -57, -12, -1, -107, 79, 121, -6, -2, -81, -115, -57, -12, 81, 89, -41, -53, 106, -13, -49, 114, 51, -86, 127, 25, 55, 127, -105, -84, -65, -77, -97, -118, -10, 33, -13, -10, -33, 57, -49, 72, -5, -3, 43, -41, 60, -1, -52, -72, -2, 10, 27, -1, -103, -2, -27, -17, -34, -27, -17, 1, -94, 126, 63, 32, -49, 69, 61, 71, -120, 98, 118, 121, -3, -28, 24, -19, 76, 93, 115, 35, -6, 53, -97, 79, -28, 38, -94, -71, 106, -34, 35, -97, -43, -101, -65, 53, -112, -9, -56, 125, -7, 124, 86, -10, 45, -97, -127, -55, 103, 52, 114, -116, 114, 43, -97, -17, -28, 8, -103, -14, 35, -97, 87, -102, 113, -112, 39, -28, 74, -37, -56, -25, 54, 57, -94, 95, 115, 43, 109, 96, -50, -67, -46, -1, -46, -105, -14, -103, 94, -114, -112, 103, -22, 19, 101, -25, -88, 103, -122, -90, -65, -94, -98, -1, -101, 62, -115, -6, -114, 69, -22, -109, 35, 100, -56, -2, 36, -85, -92, 78, -26, 88, -94, 116, -105, -41, -29, -30, 57, 42, -2, -54, -14, 65, 89, -57, -46, 31, 113, -49, -7, -28, -77, 62, 121, 95, 69, -28, -60, 125, -94, -28, 69, -39, 80, -18, -105, -11, -68, 49, -86, -99, -52, -69, -88, 125, 83, 31, -45, 79, 113, -71, 103, -38, 43, 110, -4, -46, 110, 57, 66, -114, -68, 94, -106, -19, 101, -116, 70, -27, -112, -44, 55, 42, 126, -94, 116, 51, -5, 54, 101, -60, -27, -85, -76, 127, -108, -65, -91, 127, -30, -30, 84, 94, 43, 107, 46, 49, -73, 113, 113, 103, -22, 88, -111, 88, -52, 43, -93, -113, 40, -71, -71, -94, 111, 57, -26, -14, 124, 20, 103, -81, -88, -21, 101, -23, 31, -25, 75, -109, -127, -90, 78, -110, -55, -110, -83, 50, -90, -93, 56, 38, 99, -47, -52, -109, -78, 24, 25, -59, 65, -55, 58, 83, 95, -103, -77, -14, -66, 56, -90, -102, 49, 28, 39, 75, -26, 71, 84, -84, -101, 99, -109, -71, 26, -59, -63, -100, -104, 99, -87, 115, -108, -81, -13, 98, -28, 68, -43, 44, 50, -90, -27, 92, 41, -11, -110, -15, 83, 94, 30, 68, -115, 75, -6, 57, -118, -113, 114, 12, 113, 50, 36, 103, -29, -26, -101, -78, -8, 17, -89, -125, -76, -91, -28, -128, -116, 65, -45, -49, 113, -13, 66, -108, -18, 113, -84, -119, -29, -118, -23, -73, -72, -100, 42, -117, -51, -27, -7, -86, 44, 59, -53, 123, -94, -22, -67, -78, -18, 41, 75, 87, 25, -89, 50, 7, -94, -72, 36, -13, 86, -50, -5, 50, -42, 36, 15, -30, 108, 88, 94, -84, -101, 121, 47, -37, -104, 60, -113, -78, 123, 84, -36, -56, -66, -29, 100, -101, -3, -106, -27, -77, -72, -100, 50, -57, 43, -21, 96, -39, 62, 110, -100, -46, 70, 81, -29, -112, -29, -117, -85, -99, -51, -15, -54, 62, -29, 24, 34, -13, 38, -54, 47, 113, -13, 110, -108, -49, 76, 29, 16, 27, 50, -26, -30, -30, 32, -54, -89, -90, 94, 21, -111, 43, 109, 31, 85, 47, 69, -23, 33, -19, 90, -106, 95, -53, -14, 67, -100, 46, -40, -102, -65, 123, -49, 73, -108, -52, 31, -13, 88, 50, -34, 100, 103, 78, 25, -9, -54, 120, -111, -79, 107, -26, -109, -84, 67, -94, 124, 39, 109, 41, 101, -53, -113, 108, 35, 117, -109, 115, -94, -28, 94, 94, 25, 31, 89, 43, -55, -70, 41, 42, -18, -30, -58, 26, -11, -119, -29, -90, -100, 35, -28, -100, 47, 101, 69, -39, -38, -116, 7, 115, -18, 41, -53, 126, -78, 94, -110, 114, -92, -49, 36, -73, -93, -20, -106, 47, -38, 74, 110, 68, -115, 39, 74, -74, 100, 115, -108, 63, -53, -5, -104, -19, -27, -100, 98, -22, 17, -107, 43, 101, -59, 99, 92, -5, -88, -40, -105, -5, -46, -41, -46, 6, -90, 78, -14, 99, -34, 23, -43, -73, -76, -99, -44, 81, -54, 52, -19, 42, -81, -25, -120, -3, -72, 107, -14, -68, -52, -125, -88, 62, -94, -12, -117, -118, -121, -88, -36, -111, -7, 109, 50, 92, -50, 47, 101, 113, 36, 42, -106, 100, -100, -25, 70, -76, -107, 57, 22, -57, 61, -45, 14, 50, -18, -94, 98, 79, -78, 49, 42, -81, 100, 14, 71, -7, 66, -114, 59, -118, 39, 114, -18, -115, -29, -126, -68, 95, -26, 68, -82, -72, 39, -118, 39, 82, -74, -20, 71, -14, 34, -22, -70, -44, 51, -54, 87, 57, -94, 63, 105, -81, 40, 63, 72, -37, 68, -27, -93, 100, 90, -108, -66, -90, 62, -14, -70, -84, 55, -30, -30, -53, 28, 71, 89, -25, 101, 14, 68, -27, 118, -66, 56, -106, 118, -113, 27, -89, 121, 92, -106, -51, -93, 100, -57, -79, 71, -38, 42, 106, -100, -27, -35, 43, 107, -39, 40, -42, -56, -36, -117, -6, -28, -118, 62, 101, -3, 109, -114, 93, -42, 108, -46, 39, 21, -7, -56, -71, -45, 60, 23, 21, 39, 81, -11, -81, -116, -67, 40, 25, 81, -25, -27, 117, -23, 123, -87, 87, -108, 126, 113, -20, -116, 99, -76, 100, -62, -97, 105, 47, 57, 19, -59, -111, -72, -100, 51, -19, 41, -13, -53, -52, 119, -55, -110, 40, -103, 81, 12, -118, -117, 39, -71, -82, -112, -13, 67, 84, 94, -55, 88, -113, -14, 121, 69, 114, 56, 71, -36, 103, -54, -111, -25, -28, -36, 35, -49, -103, -74, -115, -118, -49, 56, -26, -104, -9, 72, -66, -101, -74, -113, -30, -109, 41, -61, -116, 53, -71, -90, -111, 115, -106, 100, 73, -44, -68, 25, -107, -13, 113, -70, -55, -74, -46, -89, 50, -98, -91, -97, 76, -3, 101, -36, -59, 113, 41, 106, 110, 41, 79, 95, 25, 51, 113, 115, -93, -52, -35, 40, -1, 74, 38, 75, -18, -55, -68, -120, -78, 79, 28, -13, 77, 29, 101, -34, -25, -119, -66, 77, -67, -53, -78, 103, -44, 60, 106, -6, -68, 44, -2, 71, -7, -39, -20, 47, 42, 23, -14, 99, -74, -78, 15, 57, 30, -103, 67, 81, 99, -64, 53, -84, -45, 27, -88, 79, 59, -11, 105, -92, 62, 29, -44, 103, 87, -11, -23, -82, -9, 119, 83, -97, 61, -11, -75, 116, -101, -58, -22, -45, 82, 127, -46, -25, 118, -41, 109, -102, -24, -21, -23, 123, -38, -85, 79, -111, -6, -76, 86, -97, -90, -70, -115, -83, -17, 77, 95, 107, -82, 62, -127, -6, 116, -45, -57, 109, -44, -89, -103, 113, -1, -82, -6, -66, -76, -116, -114, 90, 78, 15, 125, 61, -35, -74, -73, 62, -105, -106, -39, -62, -112, 83, -92, -49, -73, -48, -5, 29, -11, 125, 73, -11, -39, 69, 31, -73, -45, -6, 52, -41, -14, -69, -88, 79, 103, 125, -35, -47, 122, 52, 84, -97, 94, -22, -45, 74, -33, -33, 65, -21, -46, 94, -113, -95, -99, -66, -98, -106, -45, 86, -97, -73, -11, 113, 59, 45, -81, -91, -66, -42, 70, -33, -33, 73, -53, 104, -94, 101, -12, -44, -6, -76, 50, 116, 110, -94, -49, -19, -90, 117, 72, -33, -21, -23, -15, -75, -44, 58, -61, 62, -67, -11, 113, -111, -106, -39, 84, -53, 107, 102, 108, 29, -35, 63, -12, 108, -95, -57, -38, 77, 127, 26, 27, -41, -47, 71, 103, -83, 67, 122, -65, -113, -106, -19, -23, 118, -80, 67, 23, 125, -83, -109, 62, 78, -21, -35, 85, -21, 2, 125, -70, -21, -21, -51, -75, 108, -8, -76, -83, 30, -17, -82, -38, 6, -48, -73, -99, 97, -101, 70, -6, -2, -12, -15, -127, 90, -49, 102, 122, -37, 88, 95, 111, -91, 101, -73, -45, 118, -35, 93, -37, -85, -67, -80, 103, 107, 125, 61, -35, -42, -46, -37, 86, -70, -65, -26, -6, 90, 99, 61, -58, 38, 90, -105, 46, -122, 94, -69, -24, -66, 118, -45, 99, 107, -95, -37, -89, -5, -83, -97, -32, -68, 104, -85, -5, 107, -88, 63, 7, 38, 56, 54, 90, -22, 126, -48, 119, 59, -35, 23, -6, 111, -90, -19, -114, -29, 118, -122, 79, 58, -24, 123, -112, 99, -66, 30, 71, 31, 45, -69, -79, -10, 101, 39, -61, -97, 93, -116, 107, 109, -11, 125, -16, -19, -18, -38, -10, -51, 12, -97, -20, -94, -37, 59, 90, 111, -24, -38, 72, -113, -79, -115, -106, -33, 94, -21, -124, -40, -76, -12, -7, 116, 59, 87, -33, -45, 86, -37, 18, -29, 42, -46, 118, -23, -86, -5, -22, -90, -113, -67, 4, -57, -89, -83, -19, -39, -34, -112, -41, 82, -37, -96, -123, 33, -81, -98, -34, 118, 49, -58, -44, 90, -53, 65, 110, 55, -43, -57, 105, -69, -19, -87, -57, -120, 120, -18, 104, -40, 18, 28, 107, -85, -113, -101, -23, 15, 98, -91, -67, -66, -42, 85, -21, -40, 58, -63, -100, 105, -84, -27, 123, 122, -65, -69, 30, 103, 43, -19, 31, -28, 47, -20, 107, -21, -3, 116, 95, 73, 61, -90, 86, -6, 90, 27, 125, -66, -71, -10, 97, 39, -35, -90, -107, -74, 107, 58, 71, 122, -21, -2, 118, -47, -9, -128, -103, -95, -42, 21, -71, -47, 64, -97, 71, 92, -73, 49, -4, 0, 59, -62, 127, 77, -75, 28, -100, 107, -100, 96, 62, -76, 55, 108, -69, -105, -10, 51, -30, 8, 57, -43, 34, -63, -4, 106, -91, -19, -35, 72, -33, -41, 74, -37, -96, 69, -126, -29, 57, -83, 83, 31, 125, 45, -35, -41, -18, 9, -26, 67, -88, -37, 53, -41, -25, -101, -23, -5, -9, 78, 100, 98, -92, 107, -126, 99, -91, -115, -106, 3, 95, -8, -58, 24, 67, 45, -85, -91, 30, 79, -25, 4, -57, 103, -45, 4, -25, 113, -96, -57, -44, 78, -37, -84, -107, 30, -25, 94, 122, 28, -5, -22, -5, 97, 115, 48, -84, -71, -18, -25, -1, -75, 119, -19, -51, 81, 28, 71, 124, -12, -80, 21, -20, -32, -40, 65, 60, -12, 2, 65, -127, 48, 6, 22, -123, 56, -90, -20, -78, -79, 1, 39, 41, -37, 113, 66, 5, 87, -14, -9, 114, -73, 39, 93, 113, 119, 123, -39, -69, 83, -48, 127, -7, 0, -87, 124, -56, 124, -114, 84, -56, 46, -41, 125, 51, -102, -22, -18, -23, -39, 91, -123, 71, -55, 85, -29, 91, -51, -50, 76, 119, -1, -6, -41, -113, 93, 33, -23, 75, -25, -36, -37, -80, -10, -98, -79, 121, 22, 99, -14, 14, -32, 117, -51, -40, 28, -66, -31, -52, 87, -6, 62, 50, 83, -2, 124, 12, 122, -72, 121, 1, -13, -57, 58, -56, -71, 108, 108, -50, -83, 48, -7, 12, -18, 109, -127, -83, 59, -58, -26, -2, 106, 63, -58, -43, 14, -24, -122, 28, -68, 12, -21, 47, 0, 22, -41, -64, -42, 85, 56, -21, 42, -52, -35, 2, 27, 55, 29, 57, -56, -79, 75, -96, -13, 6, -24, -67, 6, -70, 97, -114, -39, -122, 123, -85, 112, -42, 39, -114, -20, 74, -42, 13, -104, -33, -128, 123, -21, -58, -26, -94, 115, 112, 15, -21, -8, 6, -56, 90, 117, -4, -120, -2, 71, 46, 97, 30, -65, 3, -13, -25, 65, -57, 79, -51, 81, 78, 99, 29, -68, 2, -41, -69, 32, 31, -3, -23, -26, -9, 75, -96, -53, 111, 96, 61, -30, -78, 102, 108, 108, -3, 26, -10, 109, 25, 91, 87, 42, -100, -85, -36, 115, -35, 88, -50, 84, -25, -2, 0, -8, -35, 48, -74, -42, 92, 115, -18, -97, 7, 93, 46, 26, -101, 19, -74, 28, -1, 93, 2, -5, 118, 65, -10, 67, -72, -1, 3, -24, -122, -2, -83, -82, -17, -127, 12, -84, 101, 23, 65, 31, -20, 109, 48, 103, 124, -19, -8, -91, -62, -79, -22, 119, 62, 3, -52, 48, -26, 110, -128, -67, -69, 32, 99, 7, 48, -39, 1, 125, -85, -49, 111, -64, 30, -52, 27, 91, -32, -81, 77, -48, -7, 87, -58, -42, 37, -60, 15, -21, 56, -10, -120, -104, -69, -41, 64, 22, 114, -7, 60, -8, -89, -78, -21, 46, -24, -3, -79, -79, 61, -47, 109, 56, -25, -84, -79, -4, 73, -116, -51, -119, 87, -115, -115, -119, -49, 65, 31, -108, -113, 49, 120, 21, -12, 69, 31, 87, 103, -33, 7, 63, 94, 53, -74, -122, 108, -128, 14, 88, -29, 46, 24, 91, 7, 55, -115, -115, -15, -77, 112, 125, -35, -40, 60, 120, -49, -111, -117, -66, -66, 15, -14, 18, -64, 17, 123, -21, -81, 64, -97, -81, 61, 59, 110, -127, -66, -40, 111, 110, 26, -53, 59, -52, -117, 95, 2, 126, 23, -116, -51, -115, 15, -116, -83, 49, 119, 0, -93, 53, -40, -69, 101, 108, -2, -57, -4, -124, -67, 22, -42, -2, 91, 112, 54, -10, 65, -69, -128, -35, 5, 99, -13, -29, 54, -24, -115, -67, -36, -70, -79, 61, 75, -59, -105, -121, 112, -1, -118, -79, 28, -39, 113, -10, 98, 109, -63, -34, 101, 19, -20, -65, 110, 108, 63, 114, -43, -71, -1, 61, -40, -79, 107, 108, 93, 62, 99, 108, -50, -58, 51, -79, -41, -81, -28, -34, 52, -74, 22, 98, -34, -63, -70, -70, -19, -56, -72, 9, 114, -41, -51, 81, -82, 97, 15, -114, -71, -94, -62, -6, 46, -100, 127, -42, -40, -66, -30, 26, -100, -111, 24, 27, -69, 104, -9, -114, -79, 125, 44, -14, -27, -70, -79, -3, 47, 62, 39, 96, 79, 122, 14, -26, -15, 57, 9, 121, 118, -50, -40, -66, -16, 10, -40, -125, 103, 92, 112, -50, -63, -38, -123, 124, 69, -100, -81, 24, -37, 31, 33, -65, -80, -1, -71, 12, -2, 69, -116, -86, 125, 88, 15, 110, -126, 63, -79, -25, -61, 103, -75, -13, -58, -42, -111, 53, -40, -109, -64, -103, 9, -36, -65, 11, -21, 87, 97, -49, 89, -57, -10, -117, -58, -58, 2, -6, 0, 121, -126, 126, -1, 4, -12, -72, 97, 108, 13, -7, 28, 108, 89, 3, -99, -74, 97, 31, 114, -24, 58, 92, 99, -65, -16, 21, -56, 93, 7, 125, -65, -123, -49, 47, 64, 6, -26, 100, -28, 5, -26, 31, -84, -65, -8, 12, 123, 30, -28, 110, -61, 25, -120, 53, -6, 11, -97, 65, -48, 55, -73, -115, 125, 102, 88, 53, -10, -71, 5, -21, -12, 38, -24, 117, 27, -10, 126, 10, 24, -31, 115, 58, -11, 14, -121, 123, -25, -96, 29, 77, -100, -15, 58, 13, -1, 29, 73, -45, -25, 82, -17, -7, 56, 12, -87, 119, 76, -57, 109, -117, 70, 14, -75, -122, 123, 95, 60, -81, 108, -51, -5, 80, 73, -114, 86, 7, -1, 29, -87, -58, 55, 33, 124, 23, 2, 107, -72, -77, 53, -14, 125, 61, -21, -116, -70, -66, -26, -18, -123, -66, -106, -42, 112, 107, -71, 121, 10, 87, 31, -73, 121, -72, -40, 36, -122, -100, -83, 117, 117, -118, -115, -21, 88, 63, -57, -28, 29, -1, -3, -5, 113, 98, -53, -55, -88, -101, -77, 53, 92, -44, -60, 56, -57, -77, 121, -4, -68, 88, 115, 95, -45, 92, -46, 96, 27, -118, -59, 38, 57, 16, -85, -117, -12, 125, -75, 58, -79, 91, 71, -9, -104, 122, -43, -108, -36, 16, -9, -4, 24, 15, -43, -86, -29, -14, -23, -126, 39, 63, 54, -25, 75, -66, 63, 46, 124, 23, -51, -47, -6, -81, -87, 123, 26, -71, 18, 87, 53, -66, -106, -50, -114, -55, 105, -110, 78, -24, -121, -104, 62, 118, -34, -38, 32, -99, 59, 79, -65, -82, -51, 13, 84, 46, -42, -28, 118, -87, 31, -111, 124, 18, -86, 113, 117, -79, -44, -12, -101, 26, 63, 106, -3, 76, -31, 43, -59, -116, -49, 49, 74, -90, 63, 31, -46, 63, -60, 123, -82, 126, 83, 57, 59, 100, 59, 39, 67, -125, 109, 53, -72, -33, 35, -25, -1, -69, 4, -1, 89, -59, -97, -13, -41, 75, 103, -8, -33, -5, 15, 13, -1, 12, -41, 31, -102, -3, 117, -121, 86, 63, -19, -88, -85, 111, -20, 62, -55, -113, 117, -16, -97, 7, -77, -123, -128, 44, -118, 79, 26, -33, 114, -4, -118, -59, 44, 6, 91, 106, 109, -56, 62, 110, 111, 19, -40, -5, -40, -43, -27, 88, 8, 75, -51, 30, -83, 30, -36, -4, 82, 96, -115, 70, 71, -114, -25, -110, 44, 10, 71, -51, 57, 20, -10, 26, -99, -105, 8, -7, -66, 110, 82, -84, -32, 103, -116, 13, -110, -2, 82, -84, -7, -36, -90, -12, -118, -55, -17, 117, -72, -23, -29, 65, -15, -50, -65, 31, 19, -117, -100, 109, 126, 31, 20, -78, -125, -22, 81, 53, -68, -90, 116, -97, 39, -122, -101, 90, -29, -30, -88, -119, 109, -83, -81, 99, 115, -116, 54, -58, 40, 93, 98, 115, -115, 20, 63, 20, 31, -88, -98, 49, -42, 111, 33, 12, 37, 126, -6, -97, -44, 26, 63, 30, -76, -7, 71, 91, -97, 98, -21, 94, -52, 8, -59, -39, 60, 103, -72, 28, -31, -6, 86, -54, -33, 126, 92, -5, 28, -112, 100, 115, -49, 0, 90, 59, -72, -25, 10, 95, 126, -120, -9, -95, -6, 18, -70, 31, -30, -104, 102, 15, 37, 47, 84, -121, -87, -72, -90, 108, 10, -11, 105, 33, 94, 105, 123, 12, -50, -81, -36, 125, -118, 31, 84, -35, -112, -6, -70, 80, -98, -107, 114, 81, -120, 23, 33, 95, 81, -79, -63, -23, 67, -15, -107, -62, -103, -117, 3, -1, 28, 78, 47, -50, -9, 82, -35, -10, 113, -10, 109, 11, -31, 16, 83, 95, -92, 117, -82, 62, -108, -17, -35, 115, -36, -25, -12, 16, -57, 41, -116, 57, 76, 57, -1, -70, -67, 8, 21, -105, 82, -82, -29, 124, -52, -23, -128, -41, -44, -49, -115, 72, -15, -64, -23, 21, -14, 45, -9, 53, 23, -101, -100, -2, -38, 123, -102, -63, -55, -92, -4, -96, 61, 79, -85, -125, -28, 67, 46, 70, -87, 121, 73, 110, 8, 59, 63, 63, 114, 88, 104, -7, 16, -125, 85, 8, 95, 41, -58, 98, -4, 42, -7, 57, -28, 47, 41, -82, 53, -5, 36, 125, 53, -13, -100, 76, 41, 102, 98, -4, -30, -1, -100, -110, 70, 71, -50, 31, 117, -14, -94, 100, 103, 40, 62, 52, 121, 86, -53, 19, 41, -2, 66, 103, -7, 61, 96, -116, -4, 16, -17, 113, 72, -17, -9, -88, 107, -55, 95, -66, -1, -71, 28, 16, -78, 33, -124, 117, -56, 126, -23, 93, -118, -33, 95, 47, 51, -25, 107, -11, -45, -32, -62, -27, 53, -115, -81, 56, 14, 115, 126, -91, -12, -111, -34, -73, -8, -3, 101, -56, 23, -100, 108, -114, 99, 84, -49, 81, 7, 83, 42, -89, 83, 124, -42, -6, 71, -21, 15, 10, 31, 41, 86, 52, 118, -122, -122, -92, 35, -105, -69, 52, 107, 66, -10, 114, 126, 11, -31, -53, -7, -110, -53, -51, 33, -37, 67, 114, 57, 46, 104, -29, 74, -14, -121, 102, 109, 40, 62, 56, 59, 37, 108, -22, -38, -29, -97, -55, -27, -22, -40, 17, -101, -81, 36, 127, 107, -15, -108, 114, 30, -57, -101, 121, -12, -90, 100, 45, 11, -9, 37, -103, -95, -21, -70, 62, -107, 56, 38, -31, 21, -30, 33, 14, -22, 61, 19, -89, 47, 85, 43, 99, -72, -24, 63, 87, 72, -104, 112, -2, -113, -63, 81, -30, -119, -113, 1, -73, -58, -1, 119, -17, -95, -68, -27, -66, 71, -15, 127, 103, -127, -1, 126, 111, 49, 112, -33, 63, -53, 127, 71, -29, -33, -93, -10, -7, -61, 95, -29, -1, -98, 3, 78, -90, -26, 108, 119, -113, -12, -69, 8, 52, 122, 81, -17, -93, 124, 59, 23, 9, 57, -100, -36, -112, 45, -82, -34, 26, -4, 67, 118, -72, -104, -6, -104, 80, 62, -41, 98, 17, -78, -115, -30, -122, 111, -109, -42, 22, -18, 119, 119, 80, -13, -100, 111, 56, -37, -85, -31, -58, -23, -110, 57, 26, -77, 20, 47, -3, -104, 115, -3, 69, -39, -23, -57, -105, -12, 123, 44, -72, -8, -93, -20, -14, -7, 24, -14, -65, 59, -65, -84, -40, -21, -30, 67, -99, -53, 113, -124, -53, 39, 20, 118, 20, 86, 49, -100, 12, -83, -41, -14, 57, -122, -117, -44, -71, -95, -36, -25, 99, 66, -27, 63, 46, 103, 105, -72, -30, -14, 86, -125, -61, -126, -73, 79, 99, -69, 100, 31, -42, 101, 10, 43, -118, 103, -108, -3, 11, -60, 94, 10, 127, 42, -89, 113, -100, 119, 113, 69, -69, 67, -66, -42, -42, 66, -114, 23, 26, 46, 113, -104, -57, -98, 67, 97, 78, -99, -31, -29, 37, -43, 46, -118, -97, -102, 56, -29, -18, 105, -13, -76, -60, 111, -33, -113, 46, 23, 40, 89, 20, 6, -18, -9, 1, 36, -99, -87, 120, -45, -16, -41, -107, 79, 113, -48, -83, 15, -2, 122, 9, 47, -82, 15, -96, 98, 64, -53, 87, -55, 118, -50, -17, 84, -35, -93, -82, -71, 30, 105, 65, 88, 63, 79, -81, -29, -57, 20, -57, 27, 31, 59, -97, 35, -2, -112, 48, 11, -43, 87, -54, 6, -65, -25, -48, -8, 41, 20, 83, -38, 58, -62, -15, 23, -11, -9, 107, 7, 119, 126, 104, -124, -6, 94, -115, -67, -38, -34, 87, -118, 113, -65, 23, -93, 124, 42, -27, 30, -115, -82, -110, 77, -108, 76, -84, 113, 82, 63, 43, 113, 54, -74, 87, 58, -18, 17, -86, 5, 46, 62, 126, -67, 113, 63, -87, 24, -14, 123, -14, 24, -1, 72, -2, 14, 97, -17, -29, -17, -58, 7, -57, 31, 119, 61, -9, -3, 116, -19, -69, 13, -18, -3, -114, 63, 71, -19, -45, -66, -57, -119, -71, 87, 103, 45, -91, 127, 19, 67, 123, -26, 113, -56, -82, 35, -89, 9, 61, -2, 95, -74, -52, -29, 55, -51, 62, -114, -25, -95, 57, -118, -13, 77, -13, 85, -77, 94, -102, -81, -117, 25, 103, 95, -109, 54, -8, 125, 87, 29, 12, 66, -7, -85, -82, 31, 99, -16, -119, -39, -17, -9, 52, -13, -8, -87, -119, 49, 15, 63, 98, -71, -92, -115, -77, -70, -78, 95, 87, 28, 37, -66, 29, -73, 95, -114, 19, 15, -55, -89, 117, 98, 108, 94, -1, 73, -10, 107, -14, 66, 93, -33, 73, -7, -96, -114, -1, -87, 28, -95, -11, 113, 108, 46, -118, -39, -93, -87, 113, -79, -36, 110, -86, -9, 123, 85, 35, -90, -73, 104, -54, -98, -70, -11, -86, 9, 124, -25, -35, -45, 68, 124, 55, -35, 107, -121, -50, -43, -10, 16, -18, 104, -62, -49, -57, 53, -22, -60, 61, -41, -73, -52, -125, 119, -52, 26, 31, 87, 41, -97, 55, 17, 31, -57, 93, 55, 37, 57, -36, -49, -89, 55, -123, -83, -10, 28, 13, -34, 82, 47, 43, -11, -70, -38, 123, -44, 124, -52, -71, -36, 121, -108, -115, -110, 125, -110, -83, 33, -71, -46, -68, -124, -105, 6, 75, -115, -50, 92, 94, -110, -14, -107, -58, 22, 41, 118, 36, 91, -72, -13, -75, 62, -31, -12, 12, -15, -113, -117, -115, -40, -68, -90, 57, -109, 59, 91, 19, -73, -102, 115, 53, -15, 27, -85, -125, 118, 77, 93, 93, -92, 124, 34, -55, -26, -10, 113, -68, -41, -54, 9, -59, -122, 86, 127, -115, -98, 49, 120, 107, 121, 24, -110, -93, -55, 59, 82, -4, 112, 124, 12, -59, -73, -122, -21, -38, -104, -25, -10, 80, -66, -105, -14, 76, 12, 94, -100, -51, -108, 46, -79, -100, -106, 114, -109, 70, 119, -55, 127, 33, 14, 115, 62, -46, -60, -127, 38, -65, 106, 108, -119, -39, -81, -31, -66, -60, -99, -70, 49, 24, -61, -33, 16, 103, 66, 113, -95, -47, 95, -93, 79, -116, -2, 117, -42, -58, -28, 7, -115, -116, 16, 63, 36, 30, 112, -78, -76, -4, -27, 120, 24, 107, 3, 39, 35, 22, 99, -115, 15, -72, -40, -25, -30, 57, 116, 29, -14, -87, 86, -97, 24, -2, 73, -104, 75, 113, -93, -111, 43, -15, 41, 100, -65, -122, -93, -36, 103, -120, 11, -110, 47, 36, 95, 74, -74, -44, -51, 107, -79, 122, 74, 62, 8, 113, 63, -92, 115, 76, 76, 112, -40, 104, 114, -110, 6, 103, 77, 30, -94, 116, -95, -98, -45, 67, -7, -21, 77, 29, 111, -117, 29, 39, -29, -43, -114, 80, -3, -90, -82, -35, -81, 79, 120, -8, 122, 13, 41, 63, 106, -5, 42, 77, -83, 11, -43, -95, -104, 123, 39, -29, -19, 29, -79, 125, -58, -55, 120, 115, -57, -37, -26, -37, -73, -83, 103, 60, 25, 39, -29, 100, -68, -70, -15, -90, -28, -110, 38, -34, 103, 8, 99, -71, -36, -73, -16, -94, -68, -2, -48, 84, 127, -73, 109, -39, -100, 42, 63, 79, 63, 42, -78, 118, 119, -100, 62, -19, -10, -70, -29, 67, -104, -4, -59, -125, 86, 43, -97, 12, -58, -55, -61, -76, -105, 14, 90, 25, 76, -81, 127, 59, 41, -46, 113, 55, 31, 36, 121, 39, -103, -18, 75, -110, 126, 62, 24, -17, 39, -80, -30, -14, -29, -12, -80, -97, -107, 27, -97, -116, -45, -15, 100, 84, -83, 123, 92, 100, 7, -35, -68, -68, -98, 110, -128, -123, 43, -113, 39, -59, 48, 31, 101, 71, -75, 72, 30, -12, 43, -79, 48, -71, -6, -105, -76, 55, -55, -110, 39, -23, 65, 119, -80, 55, 42, -113, -52, 91, -49, 70, 112, 111, -13, 15, -39, 96, -81, -108, 91, 10, 104, 77, -118, -94, 18, -103, -11, -121, -67, -4, -91, 116, 88, 115, -26, -69, -63, 104, -100, -10, 94, -22, 51, -52, -118, -92, 101, 111, -83, 62, -55, -98, 39, 73, -14, 99, 90, -108, -90, -9, 64, 91, -72, -9, -34, -17, 39, 105, -111, 14, -58, 121, -127, 51, 27, 51, -69, -69, -125, -28, 17, -120, 75, -37, -19, 34, 27, -31, -110, -83, 31, -13, -47, 56, 57, 40, 21, 78, -97, -10, -78, 36, 61, 72, -69, -67, -23, -43, 104, -108, -95, -44, -9, 31, -20, 101, 73, 114, -104, -91, -59, 8, 1, -5, -27, -93, 124, -128, 6, 76, 49, -64, 19, 63, -6, -23, 112, -104, 85, -10, -91, -61, -76, 24, 59, 102, -83, -1, 49, -73, -8, -113, -110, 116, -100, -116, -9, -69, -93, -46, 85, -125, 103, 104, -63, -97, 90, -83, -55, -16, -91, -58, 48, -13, -31, 116, 79, 59, 27, 102, -125, 118, 121, 20, 10, 57, -11, 83, -42, -53, -122, -5, -7, 0, 29, -15, -63, -17, -14, 34, -21, -18, 13, -110, -65, -26, -59, -77, -84, -104, -110, 102, 25, 73, -77, -128, 2, -38, -23, 56, 77, 58, 69, -38, -49, -90, 43, 38, -43, -118, -45, 21, 53, -1, 81, -2, -17, -59, -117, -1, 84, 127, -66, -16, -65, -45, -79, 120, -58, 76, 127, -20, -30, -125, -22, -124, -5, -65, 61, -4, -41, -65, 119, -1, -7, 5, 126, -3, 77, -11, -57, 16, -89, -1, -67, 7, 84, 53, 30, 85, -105, -112, 51, -39, 112, -44, -19, -51, 108, 122, -89, -97, 62, -97, -15, -23, -99, 113, -111, -106, 60, -99, 10, 117, 85, 93, -39, -21, -11, -109, 78, -71, -50, -22, -30, -97, 111, -90, -9, -114, -52, 93, -124, -19, 63, 111, -27, 89, -89, -45, 109, 117, 93, -48, 74, -65, 119, -37, -109, -76, -121, 19, -89, -53, -13, -57, 89, -5, -91, -5, -77, -47, 76, -37, 78, 39, 107, -51, 54, 45, -4, 25, 46, -106, 11, -21, -88, -59, -65, 21, 112, -11, 110, 39, -19, 119, 123, 24, 127, 31, -11, -70, -125, -110, 37, -55, -80, -14, 113, -53, 97, -30, -49, -38, 101, 48, 57, 17, -71, -108, 118, 91, -88, -60, 96, -46, -21, 37, -34, -3, -27, -18, 56, 67, 17, 43, 127, 47, 29, -69, 63, 83, -24, -12, -80, -24, -26, 69, 114, 116, -14, -3, 118, 39, 65, -21, 112, 91, 57, 85, 29, -115, 118, -96, -114, -89, 90, -7, -32, 32, 43, -10, -78, 54, -22, -10, -76, -116, -35, 118, 90, 28, -50, -4, -109, -73, 51, -36, -74, -36, 74, 103, 71, -84, 116, -14, -94, 63, -23, -91, 51, -41, 101, 69, 31, 21, 88, -82, -104, -123, -104, -28, -99, -114, 13, -98, -107, 82, -34, -72, -56, -15, -112, 119, -5, -39, 120, 63, 111, 59, -54, -108, 12, 24, -51, 12, 89, 121, -34, -53, 14, -78, -46, 67, 71, 9, -68, -120, -72, -107, -84, 64, 31, -108, 87, -91, -1, -1, 7, 1, -74, 76, -99, 67, -98, 4, 0, 80, 75, 3, 4, 20, 3, 0, 0, 8, 0, -118, -127, -83, 74, -75, -69, 106, -55, -58, 0, 0, 0, 3, 1, 0, 0, 17, 0, 0, 0, 109, 111, 100, 101, 108, 47, 114, 95, 101, 120, 97, 109, 112, 108, 101, 46, 114, 37, -114, -51, 106, 3, 49, 12, -124, -17, -5, 20, -58, -89, 13, -72, 94, 74, 123, 42, -11, -95, -123, -34, 114, 40, -95, 61, -107, 18, -116, 86, -5, 67, -4, -121, 44, 39, -28, -19, -93, 101, 47, -30, 27, 49, -93, 81, -93, -32, -12, -62, 92, -34, -122, 97, 34, -12, -105, -100, 114, 68, -90, 21, -86, 21, -115, 50, -122, 25, 41, -6, 116, 6, -62, 113, 101, 11, -11, -86, -69, -99, -99, 4, -58, 109, -47, -53, 25, -93, 22, 81, 72, -54, -87, -97, -45, -17, -105, 81, 21, -117, -80, 54, -6, -48, 117, -45, -54, -57, 60, -85, -9, 39, 85, -74, 36, 112, 31, -13, -120, -63, -16, -67, -96, -45, -124, -75, -28, 84, 81, 27, -107, -16, 54, 122, -10, 110, 47, -8, 123, 54, -48, -21, 15, -128, -36, 18, -37, 79, 31, 124, 2, 113, -23, -17, 70, 37, -41, -115, -114, -104, 102, 94, 108, -98, 44, 52, 34, 20, 23, -58, 18, -14, 61, 10, -22, -61, -65, 84, -45, 9, 107, 11, -68, 117, 67, -65, -1, 97, -44, -43, -45, -117, -111, -15, 42, -122, 7, 80, 75, 3, 4, 20, 3, 0, 0, 8, 0, -112, 110, 104, 75, -74, 11, 69, -41, 46, 0, 0, 0, 50, 0, 0, 0, 19, 0, 0, 0, 109, 111, 100, 101, 108, 47, 118, 97, 114, 105, 97, 98, 108, 101, 115, 46, 99, 115, 118, 43, 41, 42, 77, -75, 46, 75, 44, 50, -74, 118, -15, 15, 117, -14, 113, -75, -74, -26, -126, 9, -103, 88, 39, 38, 42, 39, 37, 41, 39, 39, 91, 91, -89, 36, 22, -89, 36, 42, -101, -102, -104, -102, 114, 1, 0, 80, 75, 1, 2, 63, 3, 20, 3, 0, 0, 0, 0, -104, 110, 104, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, -128, -3, 65, 0, 0, 0, 0, 109, 111, 100, 101, 108, 47, 80, 75, 1, 2, 63, 3, 20, 3, 0, 0, 8, 0, -62, 117, -90, 74, 6, 112, -18, 17, -49, -81, 0, 0, -6, -48, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, -128, -76, -127, 36, 0, 0, 0, 109, 111, 100, 101, 108, 47, 109, 111, 100, 101, 108, 46, 114, 100, 115, 80, 75, 1, 2, 63, 3, 20, 3, 0, 0, 8, 0, -118, -127, -83, 74, -75, -69, 106, -55, -58, 0, 0, 0, 3, 1, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, -128, -128, -127, 32, -80, 0, 0, 109, 111, 100, 101, 108, 47, 114, 95, 101, 120, 97, 109, 112, 108, 101, 46, 114, 80, 75, 1, 2, 63, 3, 20, 3, 0, 0, 8, 0, -112, 110, 104, 75, -74, 11, 69, -41, 46, 0, 0, 0, 50, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, -128, -76, -127, 21, -79, 0, 0, 109, 111, 100, 101, 108, 47, 118, 97, 114, 105, 97, 98, 108, 101, 115, 46, 99, 115, 118, 80, 75, 5, 6, 0, 0, 0, 0, 4, 0, 4, 0, -15, 0, 0, 0, 116, -79, 0, 0, 0, 0]",
  "variables" : "variables",
  "rdataContent" : {
    "rCodeTestSetup" : "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"
  },
  "rdataType" : {
    "rCodeTestSetup" : "r"
  },
  "validFrom" : "2021-03-05",
  "validTo" : "2021-03-05",
  "userId" : "testUser55",
  "version" : 1,
  "selected" : true
}
```

### Getting an r code attributes <a href="#resources-rcode-attributes" id="resources-rcode-attributes"></a>

A `GET` request is used to get specified r code attributes.

**Request structure**

The request path contains following parameters:

| Parameter | Description        |
| --------- | ------------------ |
| `name`    | Scenario code name |

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/api/r/code/attributes/rCodeTestSetup' -i -X GET \
    -H 'Authorization: Bearer b87f3839-ecb2-40e6-b0b0-6472f8a5cd54'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Date: Fri, 05 Mar 2021 15:17:43 GMT
Content-Length: 226
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Transfer-Encoding: chunked

{
  "inputAttributesVariable" : {
    "var3" : {
      "type" : "DOUBLE",
      "description" : ""
    },
    "var4" : {
      "type" : "DICTIONARY",
      "options" : [ "aa", "bb", "cc" ],
      "description" : ""
    }
  }
}
```

### Getting an r code list <a href="#resources-rcode-list" id="resources-rcode-list"></a>

A `Get` request is used to get a list of R codes.

**Request structure**

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/api/r/code/list' -i -X GET \
    -H 'Authorization: Bearer acc5893c-34f9-465d-b63b-35c13f3038e0'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
Content-Length: 263
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Transfer-Encoding: chunked
Date: Fri, 05 Mar 2021 15:17:40 GMT

[ {
  "id" : "6029acd65827d2000734937f",
  "name" : "rCodeTestSetup",
  "content" : null,
  "variables" : null,
  "rdataContent" : null,
  "rdataType" : null,
  "validFrom" : null,
  "validTo" : null,
  "userId" : null,
  "version" : null,
  "selected" : null
} ]
```

### Downloading an r code <a href="#resources-rcode-download" id="resources-rcode-download"></a>

A `GET` request is used to download specified r code source.

**Request structure**

The request path contains following parameters:

| Parameter | Description |
| --------- | ----------- |
| `name`    | R code name |

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/api/r/code/download/rCodeTestSetup' -i -X GET \
    -H 'Authorization: Bearer 12e059a0-83ae-4965-b201-cf92312350ad'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Content-Length: 212814
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Content-Type: text/plain;charset=UTF-8
Date: Fri, 05 Mar 2021 15:17:41 GMT

[ 80, 75, 3, 4, 20, 3, 0, 0, 0, 0, -104, 110, 104, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 109, 111, 100, 101, 108, 47, 80, 75, 3, 4, 20, 3, 0, 0, 8, 0, -62, 117, -90, 74, 6, 112, -18, 17, -49, -81, 0, 0, -6, -48, 0, 0, 15, 0, 0, 0, 109, 111, 100, 101, 108, 47 , 109, 111, 100, 101, 108, 46, 114, 100, 115, -28, -100, 105, 84, -46, -5, -97, -57, 111, -41, 41, 111, -73, -110, 107, 86, 86, 46, 84, 86, -36, -82, -107, -103, -107, 43, 112, -53, -54, -54, -108, -54, -54, -54, -123, -54, 74, -45, 92, 80, 81, 65, -124, -54, -54, -52, -108, -44, -54, 114, -127, -46, -116, -44, -108, 74, -51, 21, -47, 92, -48, 92,-56, 21, 119, 84, 80, 20, 68, 68, 68, 118, 24, -6, -33, -103, 51, 51, 15, -25, -39, -100, 51, 62, -15, -100, 55, 63, 30, 112, 14, -4, 126, -17, -9, -5, -13, -6, 124, -127, 9, -65, -3, -14, -81, 63, -99, -39, -84, -27, -103, 23, 46, 72, 36, -126, -19, 35, -119, -31, -113, -17, 54, 100, 66, 30, 24, 54, 110, 88, -33, 24, 116, 46, 121, -17, -6, -86, -86, 99, 71, -106, -97, -44, 95, 103, 96, 63, -41, -17, -123, 95, -   ]
```

### Deleting an r code <a href="#resources-rcode-delete" id="resources-rcode-delete"></a>

A `POST` request is used to delete r code.

**Request structure**

| Parameter | Description       |
| --------- | ----------------- |
| `name`    | Scoring code name |

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/api/r/code/delete/rCodeTestSetup' -i -X DELETE \
    -H 'Authorization: Bearer 4fb7b56b-6b15-43b1-8d1d-3ea27330a9ba'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Date: Fri, 05 Mar 2021 15:17:38 GMT
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
```

## Pmml Code <a href="#resources-pmmlcode" id="resources-pmmlcode"></a>

The Pmml Code resource is used to manage Pmml codes.

### Uploading a pmml code <a href="#resources-pmmlcode-upload" id="resources-pmmlcode-upload"></a>

A `POST` request is used to upload an pmml code.

**Request structure**

**Parts**

| Part              | Description                                      |
| ----------------- | ------------------------------------------------ |
| `dateFrom`        | Date from                                        |
| `dateTo`          | Date to                                          |
| `fileName`        | Name of the file, from which we upload pmml code |
| `scoringCodeName` | Pmml code name                                   |
| `charset`         | File encoding                                    |
| `file`            | File from which we upload pmml code              |

**Headers**

| Name            | Description                |
| --------------- | -------------------------- |
| `Authorization` | Authorization token        |
| `Content-Type`  | Media type of the resource |

**Example request**

```bash
$ curl 'http://example.org/api/pmml/code/create' -i -X POST \
    -H 'Authorization: Bearer 7951f70b-d26a-43c5-91e7-7781429f8963' \
    -H 'Content-Type: multipart/form-data; boundary="LYeu3zaRhIgHF7IG7_vhHQbvn5rzjIhz31Y"' \
    -F 'dateFrom=@file;type=text/plain' \
    -F 'dateTo=@file;type=text/plain' \
    -F 'fileName=@file;type=text/plain' \
    -F 'scoringCodeName=@file;type=text/plain' \
    -F 'charset=@file;type=text/plain' \
    -F 'file=@pmmlTest.pmml;type=application/xml'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Date: Fri, 05 Mar 2021 15:16:07 GMT
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
```

### Scoring a pmml code <a href="#resources-pmmlcode-score" id="resources-pmmlcode-score"></a>

A `POST` request is used to score specified pmml code.

**Request structure**

| Parameter | Description    |
| --------- | -------------- |
| `name`    | Pmml code name |

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/api/pmml/code/score?name=pmmlTest' -i -X POST \
    -H 'Accept: application/json' \
    -H 'Content-Type: application/json; charset=UTF-8' \
    -H 'Authorization: Bearer d06e8ce4-90a0-413f-90dd-971d61c4259f' \
    -d '{
  "Petal_Length" : 1,
  "Petal_Width" : 2,
  "Sepal_Length" : 3,
  "Sepal_Width" : 4
}'
```

**Response structure**

Response status should be `200` with following structure.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
Content-Length: 450
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Transfer-Encoding: chunked
Date: Fri, 05 Mar 2021 15:16:08 GMT

{
  "name" : "pmmlTest",
  "beginTime" : "2021-03-05T15:16:05.021925Z",
  "endTime" : "2021-03-05T15:16:05.122011Z",
  "result" : {
    "result" : "virginica",
    "Predicted_Species" : "virginica",
    "Probability_setosa" : 0.0,
    "Probability_versicolor" : 0.021739130434782608,
    "Probability_virginica" : 0.9782608695652174,
    "Sepal_Length" : 3,
    "Sepal_Width" : 4,
    "Petal_Length" : 1,
    "Petal_Width" : 2
  },
  "error" : null
}
```

### Scoring a pmml code <a href="#resources-pmmlcode-score-error" id="resources-pmmlcode-score-error"></a>

A `POST` request is used to score specified pmml code.

**Request structure**

| Parameter | Description    |
| --------- | -------------- |
| `name`    | Pmml code name |

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/api/pmml/code/score?name=pmmlTest' -i -X POST \
    -H 'Accept: application/json' \
    -H 'Content-Type: application/json; charset=UTF-8' \
    -H 'Authorization: Bearer 124d36a6-ae84-4f63-adae-3d623d568118' \
    -d '{ "Petal_Length": AAA }'
```

**Response structure**

Suitable error will be returned.

**Example response**

```http
HTTP/1.1 500 Internal Server Error
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Date: Fri, 05 Mar 2021 15:16:10 GMT
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Connection: close
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Content-Length: 475
Transfer-Encoding: chunked

{
  "timestamp" : "2021-03-05T15:16:10.203+0000",
  "status" : 500,
  "error" : "Internal Server Error",
  "message" : "Unable to determine the current character, it is not a string, number, array, or object\n\nThe current character read is 'A' with an int value of 65\nUnable to determine the current character, it is not a string, number, array, or object\nline number 1\nindex number 18\n{ \"Petal_Length\": AAA }\n..................^",
  "path" : "/api/pmml/code/score"
}
```

### Exporting a pmml code <a href="#resources-pmmlcode-export" id="resources-pmmlcode-export"></a>

A `GET` request is used to get specified pmml code in JSON format. The same format is used while importing codes.

**Request structure**

The request path contains following parameters:

| Parameter | Description    |
| --------- | -------------- |
| `name`    | Pmml code name |

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/api/pmml/code/get/pmmlTest' -i -X GET \
    -H 'Authorization: Bearer aa299e42-4c44-4d91-890f-b0d2444c12da'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Date: Fri, 05 Mar 2021 15:16:11 GMT
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Content-Length: 6252
Transfer-Encoding: chunked

{
  "id" : "6029acd65827d2000734937f",
  "name" : "pmmlTest",
  "content" : "<?xml version=\"1.0\"?>\n<PMML version=\"4.2\" xmlns=\"http://www.dmg.org/PMML-4_2\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.dmg.org/PMML-4_2 http://www.dmg.org/v4-2/pmml-4-2.xsd\">\n <Header copyright=\"Copyright (c) 2016 leszek\" description=\"RPart Decision Tree Model\">\n  <Extension name=\"user\" value=\"leszek\" extender=\"Rattle/PMML\"/>\n  <Application name=\"Rattle/PMML\" version=\"1.4\"/>\n  <Timestamp>2016-12-28 15:03:53</Timestamp>\n </Header>\n <DataDictionary numberOfFields=\"5\">\n  <DataField name=\"Species\" optype=\"categorical\" dataType=\"string\">\n   <Value value=\"setosa\"/>\n   <Value value=\"versicolor\"/>\n   <Value value=\"virginica\"/>\n  </DataField>\n  <DataField name=\"Sepal.Length\" optype=\"continuous\" dataType=\"double\">\n   <Interval closure=\"closedClosed\" leftMargin=\"4.3\" rightMargin=\"7.9\"/>\n  </DataField>\n  <DataField name=\"Sepal.Width\" optype=\"continuous\" dataType=\"double\">\n   <Interval closure=\"closedClosed\" leftMargin=\"2\" rightMargin=\"4.4\"/>\n  </DataField>\n  <DataField name=\"Petal.Length\" optype=\"continuous\" dataType=\"double\">\n   <Interval closure=\"closedClosed\" leftMargin=\"1\" rightMargin=\"6.9\"/>\n  </DataField>\n  <DataField name=\"Petal.Width\" optype=\"continuous\" dataType=\"double\">\n   <Interval closure=\"closedClosed\" leftMargin=\"0.1\" rightMargin=\"2.5\"/>\n  </DataField>\n </DataDictionary>\n <TreeModel modelName=\"RPart_Model\" functionName=\"classification\" algorithmName=\"rpart\" splitCharacteristic=\"binarySplit\" missingValueStrategy=\"defaultChild\" noTrueChildStrategy=\"returnLastPrediction\">\n  <MiningSchema>\n   <MiningField name=\"Species\" usageType=\"predicted\"/>\n   <MiningField name=\"Sepal.Length\" usageType=\"active\"/>\n   <MiningField name=\"Sepal.Width\" usageType=\"active\"/>\n   <MiningField name=\"Petal.Length\" usageType=\"active\"/>\n   <MiningField name=\"Petal.Width\" usageType=\"active\"/>\n  </MiningSchema>\n  <Output>\n   <OutputField name=\"Predicted_Species\" optype=\"categorical\" dataType=\"string\" feature=\"predictedValue\"/>\n   <OutputField name=\"Probability_setosa\" optype=\"continuous\" dataType=\"double\" feature=\"probability\" value=\"setosa\"/>\n   <OutputField name=\"Probability_versicolor\" optype=\"continuous\" dataType=\"double\" feature=\"probability\" value=\"versicolor\"/>\n   <OutputField name=\"Probability_virginica\" optype=\"continuous\" dataType=\"double\" feature=\"probability\" value=\"virginica\"/>\n  </Output>\n  <Node id=\"1\" score=\"setosa\" recordCount=\"150\" defaultChild=\"3\">\n   <True/>\n   <ScoreDistribution value=\"setosa\" recordCount=\"50\" confidence=\"0.333333333333333\"/>\n   <ScoreDistribution value=\"versicolor\" recordCount=\"50\" confidence=\"0.333333333333333\"/>\n   <ScoreDistribution value=\"virginica\" recordCount=\"50\" confidence=\"0.333333333333333\"/>\n   <Node id=\"2\" score=\"setosa\" recordCount=\"50\">\n    <CompoundPredicate booleanOperator=\"surrogate\">\n     <SimplePredicate field=\"Petal.Length\" operator=\"lessThan\" value=\"2.45\"/>\n     <SimplePredicate field=\"Petal.Width\" operator=\"lessThan\" value=\"0.8\"/>\n     <SimplePredicate field=\"Sepal.Length\" operator=\"lessThan\" value=\"5.45\"/>\n     <SimplePredicate field=\"Sepal.Width\" operator=\"greaterOrEqual\" value=\"3.35\"/>\n    </CompoundPredicate>\n    <ScoreDistribution value=\"setosa\" recordCount=\"50\" confidence=\"1\"/>\n    <ScoreDistribution value=\"versicolor\" recordCount=\"0\" confidence=\"0\"/>\n    <ScoreDistribution value=\"virginica\" recordCount=\"0\" confidence=\"0\"/>\n   </Node>\n   <Node id=\"3\" score=\"versicolor\" recordCount=\"100\" defaultChild=\"7\">\n    <CompoundPredicate booleanOperator=\"surrogate\">\n     <SimplePredicate field=\"Petal.Length\" operator=\"greaterOrEqual\" value=\"2.45\"/>\n     <SimplePredicate field=\"Petal.Width\" operator=\"greaterOrEqual\" value=\"0.8\"/>\n     <SimplePredicate field=\"Sepal.Length\" operator=\"greaterOrEqual\" value=\"5.45\"/>\n     <SimplePredicate field=\"Sepal.Width\" operator=\"lessThan\" value=\"3.35\"/>\n    </CompoundPredicate>\n    <ScoreDistribution value=\"setosa\" recordCount=\"0\" confidence=\"0\"/>\n    <ScoreDistribution value=\"versicolor\" recordCount=\"50\" confidence=\"0.5\"/>\n    <ScoreDistribution value=\"virginica\" recordCount=\"50\" confidence=\"0.5\"/>\n    <Node id=\"6\" score=\"versicolor\" recordCount=\"54\">\n     <CompoundPredicate booleanOperator=\"surrogate\">\n      <SimplePredicate field=\"Petal.Width\" operator=\"lessThan\" value=\"1.75\"/>\n      <SimplePredicate field=\"Petal.Length\" operator=\"lessThan\" value=\"4.75\"/>\n      <SimplePredicate field=\"Sepal.Length\" operator=\"lessThan\" value=\"6.15\"/>\n      <SimplePredicate field=\"Sepal.Width\" operator=\"lessThan\" value=\"2.95\"/>\n     </CompoundPredicate>\n     <ScoreDistribution value=\"setosa\" recordCount=\"0\" confidence=\"0\"/>\n     <ScoreDistribution value=\"versicolor\" recordCount=\"49\" confidence=\"0.907407407407407\"/>\n     <ScoreDistribution value=\"virginica\" recordCount=\"5\" confidence=\"0.0925925925925926\"/>\n    </Node>\n    <Node id=\"7\" score=\"virginica\" recordCount=\"46\">\n     <CompoundPredicate booleanOperator=\"surrogate\">\n      <SimplePredicate field=\"Petal.Width\" operator=\"greaterOrEqual\" value=\"1.75\"/>\n      <SimplePredicate field=\"Petal.Length\" operator=\"greaterOrEqual\" value=\"4.75\"/>\n      <SimplePredicate field=\"Sepal.Length\" operator=\"greaterOrEqual\" value=\"6.15\"/>\n      <SimplePredicate field=\"Sepal.Width\" operator=\"greaterOrEqual\" value=\"2.95\"/>\n     </CompoundPredicate>\n     <ScoreDistribution value=\"setosa\" recordCount=\"0\" confidence=\"0\"/>\n     <ScoreDistribution value=\"versicolor\" recordCount=\"1\" confidence=\"0.0217391304347826\"/>\n     <ScoreDistribution value=\"virginica\" recordCount=\"45\" confidence=\"0.978260869565217\"/>\n    </Node>\n   </Node>\n  </Node>\n </TreeModel>\n</PMML>\n",
  "validFrom" : "2021-03-05",
  "validTo" : "2021-03-05",
  "userId" : "testUser",
  "version" : 1,
  "selected" : true
}
```

### Getting a pmml code attributes <a href="#resources-pmmlcode-attributes" id="resources-pmmlcode-attributes"></a>

A `GET` request is used to get specified pmml code attributes.

**Request structure**

The request path contains following parameters:

| Parameter | Description        |
| --------- | ------------------ |
| `name`    | Scenario code name |

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/api/pmml/code/attributes/pmmlTest' -i -X GET \
    -H 'Authorization: Bearer c345ce4d-3dff-4edc-ae4f-5fe91add5d29'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
Date: Fri, 05 Mar 2021 15:16:12 GMT
Content-Length: 252
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Transfer-Encoding: chunked

{
  "inputAttributesVariable" : {
    "Sepal_Length" : {
      "type" : "DOUBLE"
    },
    "Sepal_Width" : {
      "type" : "DOUBLE"
    },
    "Petal_Length" : {
      "type" : "DOUBLE"
    },
    "Petal_Width" : {
      "type" : "DOUBLE"
    }
  }
}
```

### Getting pmml codes list <a href="#resources-pmmlcode-list" id="resources-pmmlcode-list"></a>

A `GET` request is used to get a list of PMML codes.

**Request structure**

[**Headers**](#headers)

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/api/pmml/code/list' -i -X GET \
    -H 'Authorization: Bearer 9fccf2de-f96f-4543-a087-ce8388540e71'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
Date: Fri, 05 Mar 2021 15:16:12 GMT
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Content-Length: 188
Transfer-Encoding: chunked

[ {
  "id" : "6029acd65827d2000734937f",
  "name" : "pmmlTest",
  "content" : null,
  "validFrom" : null,
  "validTo" : null,
  "userId" : null,
  "version" : null,
  "selected" : null
} ]
```

### Downloading a pmml code <a href="#resources-pmmlcode-download" id="resources-pmmlcode-download"></a>

A `GET` request is used to download specified pmml code source.

**Request structure**

The request path contains following parameters:

| Parameter | Description    |
| --------- | -------------- |
| `name`    | Pmml code name |

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/api/pmml/code/download/pmmlTest' -i -X GET \
    -H 'Authorization: Bearer dbe3c82e-3024-4f64-be22-0011dd338c6b'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
Content-Length: 8242
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Content-Type: text/plain;charset=UTF-8
Date: Fri, 05 Mar 2021 15:16:14 GMT

<?xml version="1.0" encoding="UTF-8"?>
<PMML version="4.2" xmlns="http://www.dmg.org/PMML-4_2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.dmg.org/PMML-4_2 http://www.dmg.org/v4-2/pmml-4-2.xsd">

    <Header copyright="Copyright (c) 2016 leszek" description="RPart Decision Tree Model">

        <Extension name="user" value="leszek" extender="Rattle/PMML"/>

        <Application name="Rattle/PMML" version="1.4"/>

        <Timestamp>2016-12-28 15:03:53</Timestamp>

    </Header>

    <DataDictionary numberOfFields="5">

        <DataField name="Species" optype="categorical" dataType="string">

            <Value value="setosa"/>

            <Value value="versicolor"/>

            <Value value="virginica"/>

        </DataField>

        <DataField name="Sepal.Length" optype="continuous" dataType="double">

            <Interval closure="closedClosed" leftMargin="4.3" rightMargin="7.9"/>

        </DataField>

        <DataField name="Sepal.Width" optype="continuous" dataType="double">

            <Interval closure="closedClosed" leftMargin="2" rightMargin="4.4"/>

        </DataField>

        <DataField name="Petal.Length" optype="continuous" dataType="double">

            <Interval closure="closedClosed" leftMargin="1" rightMargin="6.9"/>

        </DataField>

        <DataField name="Petal.Width" optype="continuous" dataType="double">

            <Interval closure="closedClosed" leftMargin="0.1" rightMargin="2.5"/>

        </DataField>

    </DataDictionary>

    <TreeModel modelName="RPart_Model" functionName="classification" algorithmName="rpart" splitCharacteristic="binarySplit" missingValueStrategy="defaultChild" noTrueChildStrategy="returnLastPrediction">

        <MiningSchema>

            <MiningField name="Species" usageType="predicted"/>

            <MiningField name="Sepal.Length" usageType="active"/>

            <MiningField name="Sepal.Width" usageType="active"/>

            <MiningField name="Petal.Length" usageType="active"/>

            <MiningField name="Petal.Width" usageType="active"/>

        </MiningSchema>

        <Output>

            <OutputField name="Predicted_Species" optype="categorical" dataType="string" feature="predictedValue"/>

            <OutputField name="Probability_setosa" optype="continuous" dataType="double" feature="probability" value="setosa"/>

            <OutputField name="Probability_versicolor" optype="continuous" dataType="double" feature="probability" value="versicolor"/>

            <OutputField name="Probability_virginica" optype="continuous" dataType="double" feature="probability" value="virginica"/>

        </Output>

        <Node id="1" score="setosa" recordCount="150" defaultChild="3">

            <True/>

            <ScoreDistribution value="setosa" recordCount="50" confidence="0.333333333333333"/>

            <ScoreDistribution value="versicolor" recordCount="50" confidence="0.333333333333333"/>

            <ScoreDistribution value="virginica" recordCount="50" confidence="0.333333333333333"/>

            <Node id="2" score="setosa" recordCount="50">

                <CompoundPredicate booleanOperator="surrogate">

                    <SimplePredicate field="Petal.Length" operator="lessThan" value="2.45"/>

                    <SimplePredicate field="Petal.Width" operator="lessThan" value="0.8"/>

                    <SimplePredicate field="Sepal.Length" operator="lessThan" value="5.45"/>

                    <SimplePredicate field="Sepal.Width" operator="greaterOrEqual" value="3.35"/>

                </CompoundPredicate>

                <ScoreDistribution value="setosa" recordCount="50" confidence="1"/>

                <ScoreDistribution value="versicolor" recordCount="0" confidence="0"/>

                <ScoreDistribution value="virginica" recordCount="0" confidence="0"/>

            </Node>

            <Node id="3" score="versicolor" recordCount="100" defaultChild="7">

                <CompoundPredicate booleanOperator="surrogate">

                    <SimplePredicate field="Petal.Length" operator="greaterOrEqual" value="2.45"/>

                    <SimplePredicate field="Petal.Width" operator="greaterOrEqual" value="0.8"/>

                    <SimplePredicate field="Sepal.Length" operator="greaterOrEqual" value="5.45"/>

                    <SimplePredicate field="Sepal.Width" operator="lessThan" value="3.35"/>

                </CompoundPredicate>

                <ScoreDistribution value="setosa" recordCount="0" confidence="0"/>

                <ScoreDistribution value="versicolor" recordCount="50" confidence="0.5"/>

                <ScoreDistribution value="virginica" recordCount="50" confidence="0.5"/>

                <Node id="6" score="versicolor" recordCount="54">

                    <CompoundPredicate booleanOperator="surrogate">

                        <SimplePredicate field="Petal.Width" operator="lessThan" value="1.75"/>

                        <SimplePredicate field="Petal.Length" operator="lessThan" value="4.75"/>

                        <SimplePredicate field="Sepal.Length" operator="lessThan" value="6.15"/>

                        <SimplePredicate field="Sepal.Width" operator="lessThan" value="2.95"/>

                    </CompoundPredicate>

                    <ScoreDistribution value="setosa" recordCount="0" confidence="0"/>

                    <ScoreDistribution value="versicolor" recordCount="49" confidence="0.907407407407407"/>

                    <ScoreDistribution value="virginica" recordCount="5" confidence="0.0925925925925926"/>

                </Node>

                <Node id="7" score="virginica" recordCount="46">

                    <CompoundPredicate booleanOperator="surrogate">

                        <SimplePredicate field="Petal.Width" operator="greaterOrEqual" value="1.75"/>

                        <SimplePredicate field="Petal.Length" operator="greaterOrEqual" value="4.75"/>

                        <SimplePredicate field="Sepal.Length" operator="greaterOrEqual" value="6.15"/>

                        <SimplePredicate field="Sepal.Width" operator="greaterOrEqual" value="2.95"/>

                    </CompoundPredicate>

                    <ScoreDistribution value="setosa" recordCount="0" confidence="0"/>

                    <ScoreDistribution value="versicolor" recordCount="1" confidence="0.0217391304347826"/>

                    <ScoreDistribution value="virginica" recordCount="45" confidence="0.978260869565217"/>

                </Node>

            </Node>

        </Node>

    </TreeModel>

</PMML>
```

### Deleting a pmml code <a href="#resources-pmmlcode-delete" id="resources-pmmlcode-delete"></a>

A `POST` request is used to delete pmml code.

**Request structure**

| Parameter | Description       |
| --------- | ----------------- |
| `name`    | Scoring code name |

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/api/pmml/code/delete/pmmlTest' -i -X DELETE \
    -H 'Authorization: Bearer fb951eed-4fcf-43c6-b62f-44509987039e'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Date: Fri, 05 Mar 2021 15:16:14 GMT
```

## User methods <a href="#resources-user" id="resources-user"></a>

The User resource is used to manage users.

### Listing user tokens <a href="#resources-user-token-list" id="resources-user-token-list"></a>

A `GET` request is used to list user tokens.

**Request structure**

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/user/token/list' -i -X GET \
    -H 'Authorization: Bearer 29915bd8-ba0d-4e1b-8a2f-da0cf07edef8'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

| Path                 | Type     | Description         |
| -------------------- | -------- | ------------------- |
| `authorizationToken` | `String` | Authorization token |
| `scoreToken`         | `String` | Scoring token       |

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Date: Fri, 05 Mar 2021 15:16:28 GMT
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Transfer-Encoding: chunked
Content-Length: 124

{
  "authorizationToken" : "29915bd8-ba0d-4e1b-8a2f-da0cf07edef8",
  "scoreToken" : "260a673f-82ce-4b3e-b6fe-2b48737078e9"
}
```

### Getting user data <a href="#resources-user-full-data" id="resources-user-full-data"></a>

A `GET` request is used to get full user information.

**Request structure**

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/user/me' -i -X GET \
    -H 'Authorization: Bearer c3ecbe67-c7c7-454f-a4c8-478e9905115a'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

| Path              | Type      | Description                |
| ----------------- | --------- | -------------------------- |
| `username`        | `String`  | Username                   |
| `firstName`       | `String`  | User’s first name          |
| `lastName`        | `String`  | User’s last name           |
| `email`           | `String`  | User’s email               |
| `phoneNumber`     | `String`  | User’s phone number        |
| `scoreToken`      | `String`  | User’s score token         |
| `companyName`     | `String`  | User’s company name        |
| `isRegistered`    | `Boolean` | Is user registered         |
| `isAdmin`         | `Boolean` | Is user admin              |
| `agreePolicy`     | `Boolean` | Has user agreed policy     |
| `agreeProcessing` | `Boolean` | Has user agreed processing |

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Content-Length: 639
Content-Type: application/json;charset=UTF-8
Date: Fri, 05 Mar 2021 15:16:34 GMT
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Transfer-Encoding: chunked

{
  "username" : " testUser9",
  "email" : "",
  "firstName" : "",
  "lastName" : "",
  "companyName" : "",
  "phoneNumber" : "",
  "scoreToken" : "e0ec6928-fd20-40ee-a647-10ceec82f43a",
  "authenticationToken" : "c3ecbe67-c7c7-454f-a4c8-478e9905115a",
  "lastSuccessfulLogin" : null,
  "lastUnsuccessfulLogin" : null,
  "isAdmin" : false,
  "isRegistered" : false,
  "agreePolicy" : true,
  "agreeProcessing" : false,
  "isBeforeFirstLogin" : true,
  "accountNonLocked" : true,
  "attempts" : 0,
  "isPasswordExpired" : false,
  "passwordValidityDuration" : null,
  "isPasswordDurationLimited" : true,
  "isLoginHasToBeReported" : false
}
```

### Updating user data <a href="#resources-update-user-data" id="resources-update-user-data"></a>

A `POST` request is used to update user data.

**Request structure**

#### **Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/user/updatedata' -i -X POST \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer b69113a6-683b-47d3-be58-2aab10ac8c74' \
    -H 'Content-Type: application/json; charset=UTF-8' \
    -d '{
  "firstName" : "Alice",
  "lastName" : "Smith",
  "phoneNumber" : "123456789",
  "email" : "email@gmail.com"
}'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Date: Fri, 05 Mar 2021 15:16:40 GMT
Content-Length: 673
Transfer-Encoding: chunked

{
  "username" : " testUser9",
  "email" : "email@gmail.com",
  "firstName" : "Alice",
  "lastName" : "Smith",
  "companyName" : "",
  "phoneNumber" : "123456789",
  "scoreToken" : "daa0eb1f-8482-40ab-bdd0-87220ba38918",
  "authenticationToken" : "b69113a6-683b-47d3-be58-2aab10ac8c74",
  "lastSuccessfulLogin" : null,
  "lastUnsuccessfulLogin" : null,
  "isAdmin" : false,
  "isRegistered" : false,
  "agreePolicy" : true,
  "agreeProcessing" : false,
  "isBeforeFirstLogin" : true,
  "accountNonLocked" : true,
  "attempts" : 0,
  "isPasswordExpired" : false,
  "passwordValidityDuration" : null,
  "isPasswordDurationLimited" : true,
  "isLoginHasToBeReported" : false
}
```

### Changing user’s password <a href="#resources-change-user-password" id="resources-change-user-password"></a>

A `POST` request is used to change user’s password.

**Request structure**

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/user/updatepassword' -i -X POST \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer 2789ef2a-905e-43fa-825c-117c351157f1' \
    -H 'Content-Type: application/json; charset=UTF-8' \
    -d '{
  "currentPassword" : "Password123",
  "newPassword" : "newPassword123",
  "confirmPassword" : "newPassword123"
}'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
Date: Fri, 05 Mar 2021 15:16:50 GMT
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Content-Length: 640
Transfer-Encoding: chunked

{
  "username" : " testUser9",
  "email" : "",
  "firstName" : "",
  "lastName" : "",
  "companyName" : "",
  "phoneNumber" : "",
  "scoreToken" : "99883141-bebb-4e5c-8b83-622d90ed81f6",
  "authenticationToken" : "a7efe1a9-4c37-4c96-908e-962ab208eafa",
  "lastSuccessfulLogin" : null,
  "lastUnsuccessfulLogin" : null,
  "isAdmin" : false,
  "isRegistered" : false,
  "agreePolicy" : true,
  "agreeProcessing" : false,
  "isBeforeFirstLogin" : false,
  "accountNonLocked" : true,
  "attempts" : 0,
  "isPasswordExpired" : false,
  "passwordValidityDuration" : null,
  "isPasswordDurationLimited" : true,
  "isLoginHasToBeReported" : false
}
```

## Admin methods <a href="#admin_methods" id="admin_methods"></a>

### Getting users list <a href="#resources-user-list" id="resources-user-list"></a>

A `POST` request is used to get a list of users.

**Request structure**

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/user/list' -i -X GET \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer 8f0f4867-85b0-4ea2-ba68-518e7fc561fd'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Content-Length: 4463
Content-Type: application/json;charset=UTF-8
Date: Fri, 05 Mar 2021 15:16:58 GMT
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Transfer-Encoding: chunked

[ {
  "username" : "admin",
  "email" : "",
  "firstName" : "",
  "lastName" : "",
  "companyName" : "",
  "phoneNumber" : "",
  "scoreToken" : "ba930fc1-5f4d-4f0d-a127-2f3878a49dbe",
  "authenticationToken" : "f4f72936-f467-46c7-830a-9075b36c8d38",
  "lastSuccessfulLogin" : "",
  "lastUnsuccessfulLogin" : "",
  "isAdmin" : true,
  "isRegistered" : false,
  "agreePolicy" : true,
  "agreeProcessing" : false,
  "isBeforeFirstLogin" : true,
  "accountNonLocked" : true,
  "attempts" : 0,
  "isPasswordExpired" : false,
  "passwordValidityDuration" : null,
  "isPasswordDurationLimited" : false,
  "isLoginHasToBeReported" : false
}, {
  "username" : "template",
  "email" : "",
  "firstName" : "",
  "lastName" : "",
  "companyName" : "",
  "phoneNumber" : "",
  "scoreToken" : "f753590a-1544-44f1-8ace-599e0f3440e3",
  "authenticationToken" : "01f3b16e-4b30-42e9-88dc-a1f9ab94ebb9",
  "lastSuccessfulLogin" : "",
  "lastUnsuccessfulLogin" : "",
  "isAdmin" : false,
  "isRegistered" : false,
  "agreePolicy" : true,
  "agreeProcessing" : false,
  "isBeforeFirstLogin" : true,
  "accountNonLocked" : true,
  "attempts" : 0,
  "isPasswordExpired" : false,
  "passwordValidityDuration" : null,
  "isPasswordDurationLimited" : false,
  "isLoginHasToBeReported" : false
}, {
  "username" : "user1",
  "email" : "",
  "firstName" : "",
  "lastName" : "",
  "companyName" : "",
  "phoneNumber" : "",
  "scoreToken" : "2a0ef834-c945-4dd7-b81d-f3d69e2d365b",
  "authenticationToken" : "c5a66c9c-17b0-4ceb-914d-f933c7d06ac1",
  "lastSuccessfulLogin" : "",
  "lastUnsuccessfulLogin" : "",
  "isAdmin" : false,
  "isRegistered" : false,
  "agreePolicy" : true,
  "agreeProcessing" : false,
  "isBeforeFirstLogin" : true,
  "accountNonLocked" : true,
  "attempts" : 0,
  "isPasswordExpired" : false,
  "passwordValidityDuration" : null,
  "isPasswordDurationLimited" : false,
  "isLoginHasToBeReported" : false
}, {
  "username" : "testUser",
  "email" : "",
  "firstName" : "",
  "lastName" : "",
  "companyName" : "",
  "phoneNumber" : "",
  "scoreToken" : "70c3b884-3da5-4eac-b05f-7eda7b77f88d",
  "authenticationToken" : "dbe3c82e-3024-4f64-be22-0011dd338c6b",
  "lastSuccessfulLogin" : null,
  "lastUnsuccessfulLogin" : null,
  "isAdmin" : false,
  "isRegistered" : false,
  "agreePolicy" : true,
  "agreeProcessing" : false,
  "isBeforeFirstLogin" : true,
  "accountNonLocked" : true,
  "attempts" : 0,
  "isPasswordExpired" : false,
  "passwordValidityDuration" : null,
  "isPasswordDurationLimited" : true,
  "isLoginHasToBeReported" : false
}, {
  "username" : " testUser6",
  "email" : "",
  "firstName" : "",
  "lastName" : "",
  "companyName" : "",
  "phoneNumber" : "",
  "scoreToken" : "c7e7bd2d-12e5-4664-8067-879c490b9d0f",
  "authenticationToken" : "97b340cd-661f-4744-895e-1eef0b8fe4f1",
  "lastSuccessfulLogin" : null,
  "lastUnsuccessfulLogin" : null,
  "isAdmin" : false,
  "isRegistered" : false,
  "agreePolicy" : true,
  "agreeProcessing" : false,
  "isBeforeFirstLogin" : true,
  "accountNonLocked" : true,
  "attempts" : 0,
  "isPasswordExpired" : false,
  "passwordValidityDuration" : null,
  "isPasswordDurationLimited" : true,
  "isLoginHasToBeReported" : false
}, {
  "username" : " testUser9",
  "email" : "",
  "firstName" : "",
  "lastName" : "",
  "companyName" : "",
  "phoneNumber" : "",
  "scoreToken" : "bd98b31f-0442-4679-a23e-49056ec2699d",
  "authenticationToken" : "b1d79d4a-8ccd-4e92-b74a-4c26986e36db",
  "lastSuccessfulLogin" : null,
  "lastUnsuccessfulLogin" : null,
  "isAdmin" : false,
  "isRegistered" : false,
  "agreePolicy" : true,
  "agreeProcessing" : false,
  "isBeforeFirstLogin" : true,
  "accountNonLocked" : true,
  "attempts" : 0,
  "isPasswordExpired" : false,
  "passwordValidityDuration" : null,
  "isPasswordDurationLimited" : true,
  "isLoginHasToBeReported" : false
}, {
  "username" : "testAdmin",
  "email" : "",
  "firstName" : "",
  "lastName" : "",
  "companyName" : "",
  "phoneNumber" : "",
  "scoreToken" : "2a7b1f08-85d0-4cb6-8bc7-abe0ca269b27",
  "authenticationToken" : "8f0f4867-85b0-4ea2-ba68-518e7fc561fd",
  "lastSuccessfulLogin" : null,
  "lastUnsuccessfulLogin" : null,
  "isAdmin" : true,
  "isRegistered" : false,
  "agreePolicy" : true,
  "agreeProcessing" : false,
  "isBeforeFirstLogin" : true,
  "accountNonLocked" : true,
  "attempts" : 0,
  "isPasswordExpired" : false,
  "passwordValidityDuration" : null,
  "isPasswordDurationLimited" : true,
  "isLoginHasToBeReported" : false
} ]
```

### Creating new user <a href="#resources-create-user" id="resources-create-user"></a>

A `POST` request is used to create new user account.

**Request structure**

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/user/create' -i -X POST \
    -H 'Accept: application/json' \
    -H 'Content-Type: application/json; charset=UTF-8' \
    -H 'Authorization: Bearer 9e3e95b2-49d3-425c-92e8-08f06157f4d9' \
    -d '{
  "username" : "exampleUser2",
  "password" : "Password123",
  "role" : "USER",
  "passwordValidity" : false,
  "userLoggingReport" : false
}'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Date: Fri, 05 Mar 2021 15:17:18 GMT
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Content-Length: 640
Transfer-Encoding: chunked

{
  "username" : "exampleUser2",
  "email" : "",
  "firstName" : "",
  "lastName" : "",
  "companyName" : "",
  "phoneNumber" : "",
  "scoreToken" : "24bb6d42-d337-49b5-aa5d-0beb6703b10c",
  "authenticationToken" : "5e150d7f-bc5c-4d4d-a11b-801eacf6b410",
  "lastSuccessfulLogin" : null,
  "lastUnsuccessfulLogin" : "",
  "isAdmin" : false,
  "isRegistered" : false,
  "agreePolicy" : true,
  "agreeProcessing" : false,
  "isBeforeFirstLogin" : true,
  "accountNonLocked" : true,
  "attempts" : 0,
  "isPasswordExpired" : false,
  "passwordValidityDuration" : null,
  "isPasswordDurationLimited" : false,
  "isLoginHasToBeReported" : false
}
```

### Changing user password <a href="#resources-change-user-password" id="resources-change-user-password"></a>

A `POST` request is used to create new user account.

**Request structure**

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/user/updateuserpassword' -i -X POST \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer 2ce5004f-812f-4e90-b9db-d7fb6b8d63a1' \
    -H 'Content-Type: application/json; charset=UTF-8' \
    -d '{
  "username" : " testUser9",
  "password" : "Pass12345",
  "repeatedPassword" : "Pass12345"
}'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Date: Fri, 05 Mar 2021 15:17:24 GMT
Content-Length: 639
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Transfer-Encoding: chunked

{
  "username" : " testUser9",
  "email" : "",
  "firstName" : "",
  "lastName" : "",
  "companyName" : "",
  "phoneNumber" : "",
  "scoreToken" : "669ff74b-be06-4971-a913-021192e3db58",
  "authenticationToken" : "7f3d42fb-7839-4683-baa7-a6c5af6216ce",
  "lastSuccessfulLogin" : null,
  "lastUnsuccessfulLogin" : null,
  "isAdmin" : false,
  "isRegistered" : false,
  "agreePolicy" : true,
  "agreeProcessing" : false,
  "isBeforeFirstLogin" : true,
  "accountNonLocked" : true,
  "attempts" : 0,
  "isPasswordExpired" : false,
  "passwordValidityDuration" : null,
  "isPasswordDurationLimited" : true,
  "isLoginHasToBeReported" : false
}
```

### Deleting new user <a href="#resources-delete-user" id="resources-delete-user"></a>

A `POST` request is used to delete user account.

**Request structure**

| Parameter  | Description |
| ---------- | ----------- |
| `username` | Username    |

**Headers**

| Name            | Description         |
| --------------- | ------------------- |
| `Authorization` | Authorization token |

**Example request**

```bash
$ curl 'http://example.org/user/delete?username=%20testUser9' -i -X DELETE \
    -H 'Authorization: Bearer e49d075e-e853-40ad-a869-3bf9337ca018'
```

**Response structure**

Response status should be `200` or suitable error will be returned.

**Example response**

```http
HTTP/1.1 200 OK
Pragma: no-cache
Date: Fri, 05 Mar 2021 15:17:12 GMT
X-XSS-Protection: 1; mode=block
Expires: 0
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
```

